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

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

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

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

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

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

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

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

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

总结:

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

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

3. App.xaml 是可以被取代和可选的 (请看下一篇文章)

相关文章:

  • 2021-06-13
  • 2021-09-20
  • 2022-01-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-02
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2022-12-23
  • 2021-08-10
相关资源
相似解决方案