以GUI或命令行启动WPF MVVM应用程序? (服务)

时间:2020-05-14 15:33:37

标签: c# mvvm windows-services caliburn.micro

如果我使用Caliburn Micro作为MVVM框架,使我的应用程序以GUI或命令行应用程序(因此可以用作Windows服务)运行,我需要进行哪些更改。

1 个答案:

答案 0 :(得分:0)

不要声明StartupUri,而是在StartUp中注册到Application事件。

在这种情况下,您可以阅读一个参数来区分是否打开Window

例如:

App.xaml

<Application x:Class="WpfApp1.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfApp1"
             Startup="App_OnStartup">
</Application>

App.xaml.cs

public partial class App : Application
{
    private void App_OnStartup(object sender, StartupEventArgs e)
    {
        if (e.Args.Contains("Console"))
        {
            //do stuff
        }
        else
        {
            new MainWindow().Show();
        }
    }
}
相关问题