WPF应用程序如何知道从哪里开始?
本文关键字:开始 应用程序 何知道 WPF | 更新日期: 2023-09-27 17:52:42
我是c#/WPF的新手。我对WPF分层的概念有一个很好的理解,它是一个非常好的工具。然而,我所遇到的是,VS和类似的东西试图使事情非常不干涉底层代码。
当在vsc# Express 2008中启动一个全新的WPF应用程序时,有两个直接可见的源文件:App.xaml
和Window1.xaml
。这一切都很好,但我唯一看到事情开始的地方是App.xaml
中说
<Application x:Class="SomeName.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
查看SomeName.App
的类名,我猜扩展Application
表示从哪里开始,但是应用程序实际上是如何知道的?
我很熟悉Java,所以如果这样解释更容易,请这样做。我喜欢尽可能在最低层次上理解事物(不涉及机器代码),所以请帮助我更深入地了解c#和WPF的内部工作原理。
与往常一样,感谢StackOverflow社区的任何帮助。:)您可能需要理解的概念是,工具链从XAML文件生成代码,这为声明性XAML提供了'类似代码'的行为。
但是WPF非常复杂,不像其他任何东西,一本书可能会有用-我个人认为Adam Nathan的WPF书是非常优秀的,它将涵盖"概念的一般理解"的东西,我认为比互联网要好得多。
生成的应用程序文件可能被称为app.g.cs,并将在其中一个中间文件目录中-查看那里以查看实际的启动代码-在其他内容中,您将发现如下内容:
public static void Main() {
MyAppName.App app = new MyAppName.App();
app.InitializeComponent();
app.Run();
}
在这一点上,它可能开始变得更有意义。
事实上,如果你不喜欢声明式的方式,你可以自己编写所有的启动代码。