使用样式更改多个控件的外观
若要对同一类型的多个控件应用相同的属性设置,则可以创建一个样式并将该样式应用于该控件。 样式基本上就是针对特定类型的属性设置的集合。 样式通常在 XAML 中定义。 样式的 targetType 决定样式适用的控件类型。 或者,可以通过使用 x:Key 属性为样式分配一个键,当声明类型时可以按名称引用该键。 有关样式的更多信息,请参见 Style。
您可以在代码中或使用设计器来将样式分配到控件。
声明样式并将其应用于控件
-
在 XAML 文件中创建资源部分,如 Grid.Resources 或 StackPanel.Resources。
-
在控件的 XAML 声明中,添加一个 Style 属性以及一个 StaticResource 标记扩展。
下面的示例演示如何在 XAML 中将样式声明为资源,为其分配一个键,以及将其应用于按钮控件。
<StackPanel.Resources> <Style TargetType="Button" x:Key="myButtonStyle"> <Setter Property="Background" Value="Purple" /> <Setter Property="Foreground" Value="#9900FF" /> <Setter Property="Height" Value="50" /> <Setter Property="Width" Value="100" /> <Setter Property="Margin" Value="5" /> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="Cursor" Value="Hand" /> <Setter Property="FontSize" Value="14" /> </Style> </StackPanel.Resources> ... <Button x:Name="button3" Width="130" Content="Click Me Instead!" Style="{StaticResource myButtonStyle}"/>
使用设计器将样式应用于控件
-
按前面步骤中所述,将样式创建为一个资源。
-
选择要应用样式的控件。
-
打开“属性”窗口并找到 Style 属性。
-
单击右侧的值列以打开“属性资源编辑器”。
-
展开“本地”部分并从列表中选择样式。
在 XAML 中将一个 Style 属性以及一个 StaticResource 标记扩展添加到控件中。
通过属性设置和样式,您可以只更改控件外观的某些方面。 若要完全更改控件的外观和行为,需要使用控件的模板。 在 XAML 中定义一个 ControlTemplate(内嵌或在单独的文件中),它包含控件的可视外观和可视行为。 若要更改控件的模板,当您创建样式时,请在 XAML 中设置 Template 属性。 大多数控件都具有默认的控件模板。 可以替换默认控件模板,也可以修改模板以添加、重新排列或删除控件的各个部分。 可以在控件样式和模板中找到控件的默认模板。 有关更改控件的模板的更多信息,请参见控件自定义和通过使用 ControlTemplate 自定义现有控件的外观。