WPF:Windows Presentation F
XAML:Extensible Application Markup Language
XAML文档定义了WPF应用程序中组成窗口的面板、按钮和各种控件的布局。开发和美工设计界面可以独立起来。
XML:指可扩展标记语言(Extensible Markup Language),XML被设计为传输和存储数据,其焦点是数据的外观。
VS添加XML。新建项目中找不到XML此项文件,但在新建文件中有。
<Window x:Class="WpfLearn.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
</Grid>
</Window>
该文档仅含两个元素:顶级的window元素以及一个grid元素,window元素代表整个窗口,在Grid元素中可以放置所有控件。
</Window>标签关闭了Window元素,文档结束。
Title这行代码:每个特性对应Window类的一个单独属性。告诉WPF创建标题为“MainWindow”的窗口,并使窗口的大小为300*300单位。WPF中使用可进行缩放以适应不同显示器分辨率的设备无关单位。
xmlns特性是XML中的一个特殊特性,它专门用来声明名称空间。这段标记声明了两个名称空间,在创建的所有WPF XAML文档中都会使用这两个名称空间:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"是WPF核心名称空间。包含了所有WPF类,包括用来构建用户界面的控件,此处声明没有使用名称空间前缀,其成为整个文档的默认名称空间。除非另行指明,每个元素自动位于这个名称空间。
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"是XAML名称空间。包含各种XAML使用特性,这些特性可影响文档的解释方式。该名称空间被映射为前缀x,意味着可通过在元素名称之前放置名称空间前缀x来使用该名称空间。
namespace WpfLearn
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
Visual Studio自动创建可以放置事件处理代码的部分类,InitializeComponent()当创建类的一个实例时,默认构造函数调用InitializeComponent()方法,此方法不可删除,为窗口类添加另一个构造函数,也要确保调用此方法。InitializeComponent()方法的所有工作就是调用System.Windows.Application类的LoadComponent()方法。LoadComponent()方法从程序集中提取BAML(编译过的XAML),并用它来构建用户界面。当解析BAML时,它会创建每个控件对象,设置其属性,并关联所有事件处理程序。
命名元素
<Grid x:Name="grid1">
</Grid>
标记扩展
<x:Static Member="SystemColors.ActiveCaptionBrush">
</x:Static>
附加属性
事件
WPF布局原则
.....
..