Я создаю тестовый метод, в котором я открываю окно, используя метод window.showdialog
, но пока я не нажимаю кнопку закрытия, выполнение дополнительного кода не начинается.Как закрыть окно программно после вызова window.showdialog?
Вот мой метод испытания:
[TestMethod]
public void TestProductView()
{
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
ProductTreeDragDropViewModel viewmodel = new ProductTreeDragDropViewModel();
System.Windows.Window window = new System.Windows.Window();
ProductTreeDragDrop screen = new ProductTreeDragDrop();
screen.ViewModel = viewmodel;
window.Content = screen;
window.ShowDialog();
DoEvents();
Thread.Sleep(9000);
}
public void DoEvents()
{
DispatcherFrame frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(ExitFrame), frame);
Dispatcher.PushFrame(frame);
}
Примечание: Если я использую window.show метод, то данные не возвращаются в источник данных ViewModels-х годов.
Теперь, как закрыть окно программно после выполнения window.showdialog
метода ??
Основная проблема заключается в том, что код после того, как «window.showdialog» не выполняет ... пока я не нажимать кнопку colse. –