【问题标题】:How to add a new app.xaml to WPF project如何将新的 app.xaml 添加到 WPF 项目
【发布时间】:2013-10-10 09:00:29
【问题描述】:

我为服务器-客户端连接编写了一个应用程序。 在 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 个不同的应用程序。 请帮忙

【问题讨论】:

    标签: c# wpf xaml


    【解决方案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
    

    【讨论】:

    • 感谢您的帮助!但是这种方式不够灵活,但绝对有效。
    • 您可以创建两个项目并将共享的主类添加为第二个项目的链接引用。或者您可以通过命令行接收一些参数来指定启动窗口。
    • 使用上面的代码可以在DOS上调用:YourApplication.exe Client
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 2020-06-22
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多