WPFで

public Window1() {
  InitializeComponent();

  RoopStart();
}

の後にループを作るとアプリケーションが起動しないんですが、
これはWindow1を一度抜けた後にループを始めないといけないんですよね?
アプリケーションが完全に立ち上がった後ループを始めるにはどうすればいいんですか?

Thread thread = new Thread(new ThreadStart(RoopStart));
thread.Start();

をやったんですが、今度は別スレッドからWindows1のコンポーネントにアクセス出来ないんです。
どうすればいいんでしょうか?