整体结构
以.NET6为例子
App.xaml
如下图所示,App.xaml中,可以定义要启动的主窗体,还可以定义系统资源。
MainWindow.xaml
MainWindow.xaml是窗体的xaml设计文件,设计窗体中我们可以通过Title
等属性对窗体进行设置、修改,还可以为其添加需要的事件。
xmlns
是xml-namespace的缩写,是用来定义名称空间的,当来源不同的类重名时,可以使用名称空间加以区分。
xmlns
后可以跟一个可选的映射前缀,之间用冒号分割。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
是默认名称空间,这种不带映射前缀的名称空间只能有一个,一般选用元素最频繁使用的名称空间。<Window>
、<Grid>
等常见元素都来自于这个名称空间。
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
这个名称空间与解析XAML语言相关。
x:Class
向为 XAML 页提供代码隐藏的类指定 CLR 命名空间和类名。必须具有这样一个类才能支持每个 WPF 编程模型的代码隐藏, 此特性将<Window>
映射到代码定义的类型WPFStudy.MainWindow。
mc:Ignorable="d"
:可将 d:
置于任何特性或控件之前,使其仅在 XAML 设计器中显示,运行时则不显示。
xmlns:local="clr-namespace:WPFStudy”
将名称空间HelloWord映射到前缀local,当需要在XAML中使用我们在名称空间HelloWord中定义的类或属性时在其前面加上local:,以便告知XAML编译器这个元素对象是从哪里来的。
代码启动
除了直接通过App.xaml中的设置启动项目窗体外,还可以通过自定义编写代码的方式来启动窗体。
删除项目中的App.xaml,然后新建类编写如下代码:
public class NewApp
{
[STAThread]
static void Main()
{
Application app = new Application();
app.Run(new MainWindow());
}
}