Я использую элемент управления, который является всплывающим окном.У меня есть методы, которые показывают и скрывают его, и мне нужно реализовать функцию, которая будет препятствовать отображению и скрытию моего всплывающего окна в разных потоках.Могу ли я показать свое всплывающее окно в не-пользовательской теме?
Обновление
Основная цель моего вопроса:
Не важно, из какойЗапускается метод Show, метод Hide должен находиться в том же потоке.Как это реализовать?
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;
}