Attribute和Property区别:
Property是面向对象层面上的东西,比如一个Car,Car.length,Car.speed就是property,“属性”
例子:下面的都是<Windows>标签中的Attribute(Xaml中有一部分Attribute是与Property对应,有一部分并不对应)
x:Class="Xamlrenshi.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
代码中Titie、Height、Width很明显就是 Property
xmlns是声明命名空间
x:Class是为了区分不同的 Attribute,并且作用是指定了XAML解析器将包含它的类名解析成C#类后,这个类的类名。
比如:
x:Class="Xamlrenshi.MainWindow"最外面的Window,说明C#代码肯定继承的是window,如果是Userctrl的话C#肯定继承的就是Userctrl了,这个跟C#写控件对象是一个道理
partial关键字说明:可以把一个类拆分在多处定义:
比如:XAML中定义了类
x:Class="Xamlrenshi.MainWindow"
而.cs文件中也定义了MainWindow
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
因为使用了关键字partial,并且XAML解析器在生成的MainWindow也使用了partial,所以不冲突,两者合二为一
正式这种partial机制,可以把类的逻辑代码写在.cs中,控件布局UI写在xaml中,实现逻辑代码与UI分离
Property是面向对象层面上的东西,比如一个Car,Car.length,Car.speed就是property,“属性”
Attribute是语言层面上的东西,比如要区分同类的语法元素A和B,为了表示A和B在语法上面的细微区别,就要使用Attribute,“特性”
例子:下面的都是<Windows>标签中的Attribute(Xaml中有一部分Attribute是与Property对应,有一部分并不对应)
x:Class="Xamlrenshi.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
代码中Titie、Height、Width很明显就是 Property
xmlns是声明命名空间
x:Class是为了区分不同的 Attribute,并且作用是指定了XAML解析器将包含它的类名解析成C#类后,这个类的类名。
比如:
x:Class="Xamlrenshi.MainWindow"最外面的Window,说明C#代码肯定继承的是window,如果是Userctrl的话C#肯定继承的就是Userctrl了,这个跟C#写控件对象是一个道理
partial关键字说明:可以把一个类拆分在多处定义:
比如:XAML中定义了类
x:Class="Xamlrenshi.MainWindow"
而.cs文件中也定义了MainWindow
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
因为使用了关键字partial,并且XAML解析器在生成的MainWindow也使用了partial,所以不冲突,两者合二为一
正式这种partial机制,可以把类的逻辑代码写在.cs中,控件布局UI写在xaml中,实现逻辑代码与UI分离