博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个自定义的Application类
阅读量:5271 次
发布时间:2019-06-14

本文共 1656 字,大约阅读时间需要 5 分钟。

由于每个应用程序必须创建一个Application对象,vs为开发人员提供了模板来减轻开发人员的重复工作。当使用vs创建一个WPF应用程序是,vs会自动创建一个app.xaml文件,

声明代码中的startupUri属性用于指定将要作为应用程序主窗口的XAML文件,这个app.xaml文件同样也具有一个后置文件,与XAML代码想关联的后置文件

派生自XAML根元素的派生类。因此从app.xaml.cs中可以看到,app类是一个派生自Application类的派生类,但是让人好奇的是,后置代码并没有发现Main方法,也没有看到实例化

Application类的代码。

  与MainWindow.xaml一样,vs自动为app.xaml产生了一个局部类名为App.g.cs。在应用程序编译后,可以从obj\Debug文件夹下找到这个文件。App.g.cs的源代码如下

public partial class App : System.Windows.Application {                ///         /// InitializeComponent  方法自动生成的代码        ///         [System.Diagnostics.DebuggerNonUserCodeAttribute()]        [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]        public void InitializeComponent() {                        #line 5 "..\..\App.xaml"            this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);                        #line default            #line hidden        }                ///         /// Application Entry Point.        ///         /// vs足底报告生成的应用程序的入口点        [System.STAThreadAttribute()]        [System.Diagnostics.DebuggerNonUserCodeAttribute()]        [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]        public static void Main() {            //创建一个派生子Application类的实例            WpfApplication8.App app = new WpfApplication8.App();            app.InitializeComponent();            app.Run();        }    }}

在这个自动生成的局部类,可以看到产生了一个Main方法来作为应用程序的入口点,Main方法首先实例化一个App对象,紧接着调用了静态的InitializeComponent方法。在该方法中,只是为了Application类设置了Startup属性,为该属性

赋予一个相对路径的XAML文件的URI。

  

转载于:https://www.cnblogs.com/xiaowie/p/9310949.html

你可能感兴趣的文章
自定义不等高的cell-(storyboard)
查看>>
Cracking the code interview
查看>>
linux命令 rpm
查看>>
OMG: daily scrum nine
查看>>
【蓝桥杯】历届试题 连号区间数(运行超时)
查看>>
交换机练习的心得
查看>>
自己写的一个javascriptsort万能比较函数
查看>>
冒泡排序
查看>>
test
查看>>
用Windows操作系统的人有时会遇到这样的错误信息:
查看>>
Selenium3+Python3_12:HTML测试报告
查看>>
前端工程师怎么提高自己的编码速度
查看>>
java 锁!
查看>>
python RecursionError: maximum recursion depth exceeded in comparison错误
查看>>
用 Chrome 扩展实现修改
查看>>
MySQL server has gone away问题得解决方案
查看>>
java中的二维数组基础知识
查看>>
Python11 RabbitMQ Redis
查看>>
Python pipenv
查看>>
BZOJ 1003 [ZJOI2006]物流运输
查看>>