每个控件都有各自的样式,如果需要重复的利用就把公共样式抽出来。和css一样。
<Window.Resources>
<Style x:Key="AStyle" TargetType="Button">
<Setter Property="Height" Value="30"></Setter>
<Setter Property="Width" Value="60"></Setter>
</Style>
<Style x:Key="BStyle" TargetType="Button" BasedOn="{StaticResource AStyle}">
<Setter Property="FontSize" Value="20"></Setter>
</Style>
<Style x:Key="CStyle" TargetType="Button" BasedOn="{StaticResource BStyle}">
<Setter Property="Foreground" Value="blue"></Setter>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Button Style="{StaticResource BStyle}">按钮1</Button>
<Button Style="{StaticResource BStyle}">按钮2</Button>
<Button Style="{StaticResource CStyle}">按钮3</Button>
<Button Style="{StaticResource CStyle}">按钮4</Button>
</StackPanel>
</Grid>
上面Grid里面放的内容,有4个按钮。用Style属性,打个花括号,花括号里面两个值StaticResource表示静态资源,空一格,写样式名。
在Grid的同级,Window标签的子级里面写
标签,里面写标签,Style标签设置键名x:Key,就像css的类名和id名一样。TargetType属性用来指定,这个样式是给哪种控件设置的。 在Style标签里面写
,Setter里面的Property属性可以设置Button的各种属性,在用TargetType绑定控件时就解析了Button的属性,所以Settet能设置。 Style能继承,用BasedOn属性,花括号,第一个写StaticResource,空一格,继承的基样式名。