0

我为服务器-客户端连接编写了一个应用程序。在 WPF 项目中,有一个 App.xaml 具有启动方法。我想通过复制和更改名称 + 客户端 UI 的启动 URI 对 App2.xaml 做同样的事情 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>

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

4

1 回答 1

1

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

您可以像这样更改启动 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
于 2013-10-10T00:47:37.693 回答