如何将新的app.xaml添加到WPF项目中

时间:2013-10-10 00:30:59

标签: c# wpf xaml

我写了一个服务器 - 客户端连接的应用程序。 在WPF项目中,有一个具有启动方法的App.xaml。 我希望通过复制对App2.xaml执行相同的操作,并更改客户端UI的名称+启动URI App2.xaml中的代码就像这样

<Application x:Class="assembly_line_balance_demo_ga_dp_tttn09_2013.App2"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="View/MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

但是在重建项目之后,它没有在Properties解决方案中显示新的启动对象。 因为客户&amp;服务器共享内部代码,因此我需要在一个项目中配置两个UI并构建到两个不同的应用程序。 请帮忙

1 个答案:

答案 0 :(得分:1)

我认为每个项目只允许一个App.xaml。

您可以更改Start-Up Uri 像这样:

在App.xaml文件上 删除StartupUri属性:

<Application x:Class="WpfApplication4.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             >
    <!-- StartupUri="MainWindow.xaml" -->
    <Application.Resources>

    </Application.Resources>
</Application>

在App.xaml.cs文件

    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        // Add this override function
        protected override void OnStartup(StartupEventArgs e)
        {
            if(e.Args.Contains("Client"))
                this.StartupUri = new Uri("View/MainWindow.xaml", UriKind.RelativeOrAbsolute);
            else
                this.StartupUri = new Uri("View/MainWindowServer.xaml", UriKind.RelativeOrAbsolute);
        }
    }

然后你可以打电话

YourApplication.exe Client

YourApplication.exe Server