ポップアップウィンドウであるコントロールを使用します。私はそれを表示して非表示にするメソッドがあり、私は別のスレッドで私のポップアップを表示および非表示にする機能を実装する必要があります。ポップアップをUIスレッドで表示できますか?ポップアップを表示するスレッドを制御する方法
更新
私の質問の主な目的は次のとおりです。
それは方法の表示を開始するスレッド何から重要ではありません、メソッドを隠すには、同じスレッドにする必要があります。これを実装する方法は?
public void Show()
{
IsShown = true;
if (this.ChildWindowPopup == null)
{
this.ChildWindowPopup = new Popup();
try
{
this.ChildWindowPopup.Child = this;
}
catch (ArgumentException)
{
throw new InvalidOperationException("The control is already shown.");
}
}
if (this.ChildWindowPopup != null && Application.Current.RootVisual != null)
{
// Configure accordingly to the type
InitializeProgressType();
// Show popup
this.ChildWindowPopup.IsOpen = true;
}
}
public void Hide()
{
IsShown = false;
// Restore system tray
SystemTray.IsVisible = currentSystemTrayState;
this.progressBar.IsIndeterminate = false;
this.ChildWindowPopup.IsOpen = false;
}
表示するときにThread.CurrentThreadを保存するだけで、非表示にすると同じであるかどうかを確認できますか? まだ - 私はこの質問が別の問題を示していると主張します。なぜスレッドをチェックしたいのですか?目標は、いくつかの操作の進捗バーを表示することです - いくつかのオブジェクト(トークン)を作成して、進捗バーを操作に関連付けることができます。別の問題をデバッグする以外の方法でスレッドを管理する必要がある理由がわかりません。 –