在 WPF 测试中打开一个窗口
本文关键字:一个 窗口 WPF 测试 | 更新日期: 2023-09-27 18:37:06
我在Winforms中的典型UI测试是以下形式:
[TestMethod]
public void SomeTest()
{
if(RunManualTests)
{
TestForm form = new TestForm();
SomeControl control = new SomeControl();
form.Controls.Add(control);
form.ShowDialog();
}
}
在 WPF 中,似乎需要 App.xaml。 App.xaml 具有StartupUri="MainWindow.xaml"
属性。 我需要添加此文件吗? 如果是,如何动态设置 StartupUri?
换句话说,如何将我的 Winform 测试转换为 WPF?
使用
StartupUri
没有要求,只需使用
Window w = new Window();
w.Content = new TestControl();//replaces form.Controls.Add(...)
w.ShowDialog();
改为在相应的 C# 代码中。但是,您需要注意此代码在调度程序线程(即前台 STA 线程,具有正在运行的Dispatcher
- 通常是 WPF 应用程序的主线程)中运行。
您通常不需要任何对应的form.Controls.Add(...)
,因为这些控件通常在 XAML 文件中描述。(但是,如果您确实愿意,也可以手动添加它们。