C# WPF Application 的 App.xaml 和 Main() 重写 《一》

当我们新建一个WPF Appliaction, .NetFramework 会为我们创建 MainWindow.xaml 和 App.xaml 文件。

App.xaml 是整个 WPF Application 的入口, 我们看看它的属性, 它的 build action 是 ApplicationDefinition, 这是一个 WPF Application 入口应有的 build action。如果把它改成  Page  我们在 Application 的 属性里面就找不到 Start object

然后我们发现在 App.xaml.cs 里面没有 Main() 方法,  这是由于CLR在编译的时候自动创建了。但这取决于 App.xaml 的 build action, 如果不是 ApplicationDefinition, CLR 是不会自动创建 Main()。那这个时候就要自己创建。

首先把 build action 改为 Page, 不使用CLR自动创建的 Main(), 然后自己创建一个。 然后你会发现 Application 的 属性里面找到 Start object。

到目前为止,程序还是跑不动,因为在Main()方法里少了启动程序的重要代码。添上后就可以了。

全部代码:

总结:

1. Start object 会以 Main() 为标记

2. 使用自己创建的 Main() 还是 CLR 自动创建的, 取决于 xaml 文件的 build action 是否 ApplicationDefinition

3. App.xaml 是可以被取代和可选的 

4. 重写的Main()方法必须写上程序启动代码

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值