使用样式更改多个控件的外观

若要对同一类型的多个控件应用相同的属性设置,则可以创建一个样式并将该样式应用于该控件。 样式基本上就是针对特定类型的属性设置的集合。 样式通常在 XAML 中定义。 样式的 targetType 决定样式适用的控件类型。 或者,可以通过使用 x:Key 属性为样式分配一个键,当声明类型时可以按名称引用该键。 有关样式的更多信息,请参见 Style

您可以在代码中或使用设计器来将样式分配到控件。

声明样式并将其应用于控件

  1. 在 XAML 文件中创建资源部分,如 Grid.Resources 或 StackPanel.Resources。

  2. 使用 x:Key 属性 添加 Style 元素。

  3. 将另一个 Setter 元素添加到 Style

  4. 在控件的 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}"/>
    
    
    

使用设计器将样式应用于控件

  1. 按前面步骤中所述,将样式创建为一个资源。

  2. 选择要应用样式的控件。

  3. 打开“属性”窗口并找到 Style 属性。

  4. 单击右侧的值列以打开“属性资源编辑器”。

  5. 展开“本地”部分并从列表中选择样式。

    在 XAML 中将一个 Style 属性以及一个 StaticResource 标记扩展添加到控件中。

通过属性设置和样式,您可以只更改控件外观的某些方面。 若要完全更改控件的外观和行为,需要使用控件的模板。 在 XAML 中定义一个 ControlTemplate(内嵌或在单独的文件中),它包含控件的可视外观和可视行为。 若要更改控件的模板,当您创建样式时,请在 XAML 中设置 Template 属性。 大多数控件都具有默认的控件模板。 可以替换默认控件模板,也可以修改模板以添加、重新排列或删除控件的各个部分。 可以在控件样式和模板中找到控件的默认模板。 有关更改控件的模板的更多信息,请参见控件自定义通过使用 ControlTemplate 自定义现有控件的外观

posted @ 2015-02-05 09:51  西楼月光  阅读(417)  评论(0编辑  收藏  举报