我正在创建一个测试方法,在该方法中我正在使用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 方法,则视图模型的数据源中不会返回数据。
现在,如何在window.showdialog
方法执行后以编程方式关闭窗口?