gpt4 book ai didi

c# - 如何在调用 window.showdialog 后以编程方式关闭窗口?

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:35 24 4
gpt4 key购买 nike

我正在创建一个测试方法,在该方法中我使用 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 方法,则数据不会返回到 View 模型的数据源中。

现在,如何在执行 window.showdialog 方法后以编程方式关闭窗口??

最佳答案

当您使用 ShowDialog 启动对话框时,控件会转到新打开的对话框。所以需要在启动的对话框中进行关闭操作。

或者,你可以试试

window.Show();
Thread.Sleep(10000);
window.Close();
DoEvents();

关于c# - 如何在调用 window.showdialog 后以编程方式关闭窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18756099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com