首页 > 代码库 > 深入浅出-样式属性布局

深入浅出-样式属性布局

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="http://www.mamicode.com/60"  />

    <Setter Property="Height" Value="http://www.mamicode.com/30"  />

    <Setter Property="Margin" Value="http://www.mamicode.com/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>

 

 

 

 

 

 

 

 



 

深入浅出-样式属性布局