如何在紧凑框架中更改主窗口?

时间:2015-04-05 23:29:56

标签: c# wpf compact-framework

在紧凑框架中是否有一些与wpf的Application.MainWindow相当的东西? 我的问题是我运行SplashScreen,它做了一些工作,我需要关闭它并打开登录页面。 我尝试关闭表单并打开另一个表单,但它会关闭整个应用程序,因为SplashScreen是我传递给Application.Run()方法的那个

我不想隐藏表单,因为当我想要隐藏我的整个应用程序并从我的代码中调用另一个应用程序时它会导致问题(尽管我确实称之为隐藏,但启动画面似乎仍然存在方法),所以我需要关闭启动画面并打开登录界面

2 个答案:

答案 0 :(得分:2)

您有几个选择。

  1. 请勿将启动画面传递给Application.Run。在您的主表单中发送,然后让它创建启动和处理的实例显示和隐藏它。实际上,屏幕(或任何视图)不应该做任何“工作” - 工作应该在其他地方完成,UI应该只通过显示状态,进度,验证用户输入等作出反应。
  2. 使用对Application.Run的两个连续调用:
  3. Application.Run(new SplashScreen());
    Application.Run(new MainForm());
    

答案 1 :(得分:-1)

设置: App.xaml(属性) - >构建行动 - > "页"

在App.xaml.cs中设置 Main()

[System.STAThreadAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main()
{
  SplashScreen ss = new SplashScreen();
  ss.showDialog();
  App app = new App();
  app.InitializeComponent();
  app.Run(); 
}

设置App.xaml:

<Application 
  //something
  StartupUri="MainWindow.xaml">
  //something
</Application>