Attribute和Property属性区别
Attribute:是语言层面的东西、是给编译器看的
Property:是面向对象层面的东西,是给编程逻辑用的,一个XAML标签的Attribute里大部分都对应着对象的Property。
x:Class :所指示的类型在声明时必须使用partial关键字
x:Name,类似于html的id用法
x:FieldModifier,默认值为internal,可选public等
x:Key,为资源贴上用于检索的索引,在wpf中,几乎每个元素都有自己的Resources属性,比如需要重复使用的XAML内容,如Style,各种Template和动画等都需要放在资源里。
<Window.Resources>
<sys:String x:Key="myString">Hello wpf</sys:String>
</Window.Resources>
<TextBox Text="{StaticResource ResourceKey=myString}" />
或代码访问:
string str=this.FindResource("myString")as string;
this.textBox1.Text=str;
x:Type,它的值应该是一个数据类型的名称
x:Null,对一个属性赋一个空值
<Window.Resources>
<Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">
<Setter Property="Width" Value="60" />
<Setter Property="Height" Value="30" />
<Setter Property="Margin" Value="5" />
</Style>
</Window.Resources>
<Button Content="OK" Style="{x:Null}"> //表示这个控件不需要引用Stype的样式
x:Static,访问的static成员一定是数据类型的属性或字段。
Text="{x:Static local:Window1.ShowText}"
布局控件:Grid StackPanel DockPanel ,它们的父类都是Panel。
内容控件:Window Button等,它们的父类是ContentControl。内容属性的名称为Content,只能由单一元素充当其内容。
带标题内容控件:相当于一个内容控件,但可以加一个标题(Header),标题部分也可容纳一个控件或布局。GroupBox TabItem等,他们的共同父类是HeaderedContentControl.
条目控件:ListBox ComboBox等,他们的父类是ItemsControl,显示集合类型数据方面功能非常强大。
带标题条目控件:相当于一个条目控件加上一个标题显示区。TreeViewItem MenuItem,他们父类是HeaderedItemsControl
特殊内容控件:如TextBox看容纳的是字符串,TextBlock可容纳可自由控制格式的文本,Image可容纳图片类型数据,,,,
<Button Content="OK" />
或者:
<Button>
<Button.Content>
<sys:String>OK</sys:String>
</Button.Content>
</Button>