首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >替换WPF入口点

替换WPF入口点
EN

Stack Overflow用户
提问于 2011-05-28 02:56:21
回答 3查看 34.1K关注 0票数 62

WPF定义了自己的Main()方法。我应该如何使用我自己的(通常)打开WPF MainWindowMain方法来替换它(例如,通过命令行参数添加一个非WPF脚本模式)?

EN

回答 3

Stack Overflow用户

发布于 2011-05-28 03:03:02

通常,我会编辑App.xaml以添加此支持:

代码语言:javascript
复制
<Application x:Class="SomeNamespace.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Startup="Application_Startup">

相关部分是我使用App.xaml.cs中的事件处理程序从StartupUri更改为Startup。下面是一个示例:

代码语言:javascript
复制
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        int verbose = 0;
        var optionSet = new OptionSet
        {
            { "v|verbose", "verbose output, repeat for more verbosity.",   
                    arg => verbose++ }
        };

        var extra = optionSet.Parse(e.Args);
        var mainWindow = new MainWindow(verbose);
        mainWindow.Show();
    }
}
票数 22
EN

Stack Overflow用户

发布于 2013-02-16 05:41:37

使用您的自定义静态Main方法创建新类。在此方法的末尾,只需调用WPF生成的原始App.Main():

代码语言:javascript
复制
public class Program
{
    [STAThread]
    public static void Main(string[] args)
    {
        // Your initialization code
        App.Main();
    }
}

然后将项目的“Startup object”设置为包含静态Main()的类。

票数 4
EN

Stack Overflow用户

发布于 2015-08-05 22:33:12

使用自定义的Main()可能会遇到问题,因为没有设置StartupUri。

您可以使用它来设置它,而不会让您的应用程序类感到头疼(不要忘记从App.xaml中删除StartupUri,并将其构建操作设置为Page):

代码语言:javascript
复制
[STAThread]
static void Main()
{
    App app = new App();
    app.InitializeComponent();
    app.Run();
}

protected void OnStartup(object sender, StartupEventArgs e)
{
        var toUri = new UriTypeConverter();
        StartupUri = (Uri)toUri.ConvertFrom("MainWindow.xaml");
...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6156550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档