Iveはwpfフォームを取得しています。これは、ユーザーがコントロールから選択するとすぐに読み込みポップアップを表示したいからです。データベースがローカルではないので、長い時間がかかります。私はポップアップウィンドウのスレッドを作成する場所まで、すべての作業を完了しました。親Freezableとは別のスレッドに属しているDependencyObjectを使用できません
私は私のスレッドを作成する場所です:
public void Start()
{
if (_parent != null)
_parent.IsEnabled = false;
_thread = new Thread(RunThread);
_thread.IsBackground = true;
_thread.SetApartmentState(ApartmentState.STA);
_thread.Start();
_threadStarted = true;
SetProgressMaxValue(10);
Thread th = new Thread(UpdateProgressBar);
th.IsBackground = true;
th.SetApartmentState(ApartmentState.STA);
th.Start();
}
とスレッド方法:
今private void RunThread()
{
_window = new WindowBusyPopup(IsCancellable);
_window.Closed += new EventHandler(WaitingWindowClosed);
_window.ShowDialog();
}
私はこのエラーを取得する実行した瞬間:
は使用できません親のFreezableとは異なるスレッドに属するDependencyObject
任意の助けいただければ幸い:)
使用を呼び出しの代わりに(私が見るように、あなたは、関数UpdateProgressBarの実装を示してはいけません)。 –
私はスレッドを作成する代わりに起動しようとしましたが、うまくいきませんでした。どのように私は呼び出しを使用することを提案しますか? – user1168738