1

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 に変換するにはどうすればよいでしょうか?

4

1 に答える 1

3

使用する必要はありませんStartupUri、あなたはただ使用することができます

 Window w = new Window();
 w.Content = new TestControl();//replaces form.Controls.Add(...)
 w.ShowDialog();

代わりに、適切なC#コードで。ただし、このコードをディスパッチャースレッド(つまり、実行中のフォアグラウンドSTAスレッド(Dispatcher通常はWPFアプリケーションのメインスレッド)で実行するように注意する必要があります)。

form.Controls.Add(...)コントロールは通常XAMLファイルに記述されているため、通常はに対応するものは必要ありません。(ただし、本当に必要な場合は、手動で追加することもできます。)

于 2012-06-14T14:18:50.580 に答える