为什么WPF生成文件MainWindow.g.i.cs

时间:2018-04-19 12:33:41

标签: c# wpf xaml

我认为,当我使用XAML和WPF创建应用程序时,XAML将被编译为BAML,作为资源嵌入并在运行时加载。

我现在用Button创建了一个小类MainWindow.cs。

现在,我在obj \ Debug中看到文件MainWindow.g.i.cs,其中包含Button等的属性。

我现在问我,是什么原因,会创建一个MainWindow.g.i.cs,其中包含来自XAML生成的代码。编译器使用此文件做了什么?

感谢澄清。

2 个答案:

答案 0 :(得分:1)

在编译时,MsBuild / Visual Studio为每个XAML文件创建一个文件,其构建操作为Page。这是一个自动生成的部分类,它负责代码隐藏文件中的代码与XAML文件中的标记之间的连接。

在代码隐藏类的构造函数中调用的InitializeComponent()方法以及在XAML标记中定义的具有x:Name的任何控件的所有支持字段都是在这个班。您不必担心也不关心这些文件。

答案 1 :(得分:-1)

是的,你的编译正确,但这在运行时发生,而不是在编译时间内。