什么事先做什么?

时间:2014-03-19 10:26:47

标签: c# wpf main

很抱歉混淆title = D

WindowsForms我有Main方法,我可以在创建或显示主窗体之前使用 。例如,处理命令行参数,显示启动窗口和预加载配置,有几个窗口一个接一个显示,主循环(当有可重复的工作序列时,那么Main很漂亮放在那里的好地方do{}while)等。

Main中这种WPF方法的最佳类比?

我尝试使用Application.Startup事件,但它有一些issues

我可以想到以某种方式以编程方式创建wpf应用程序(然后我应该从xaml autogenerated Main解除绑定并且可以拥有自己的)。但这听起来太复杂了。我可能错过了一些非常简单的事情。

2 个答案:

答案 0 :(得分:4)

从WinForms开发转向WPF开发可能会带来一些心态的改变。我会调查WPF and MVVM,网上有很多资源。

之后,您应该开始查看基于此构建的各种框架,例如PrismCaliburn.MicroMVVMLight等,这些框架都有关于构建WPF的各种教程和文档具有闪屏和复合窗口的应用程序。

对于它的价值,protected override void OnStartup中的App.xaml.cs是你想要“先做某事”的地方,比如在加载主屏幕之前显示启动画面。

答案 1 :(得分:0)

解决方案是......在Main

中执行所有操作

为此,我必须停用自动生成Main(将App.xaml属性BuildAction设置为Page,而不是默认ApplicationDefinition)然后我可以在Main类中创建自己的Application

public partial class App : Application
{
    [STAThread]
    public static void Main()
    {
    }
}

我可以完全控制何时以及如何显示窗口,进行初始化,取消等等。