如何将样式应用于所有按钮?

时间:2013-04-05 10:35:24

标签: c# windows-phone-7 xaml

我如何以及在何处创建一个样式,为所有按钮控件提供资源蓝色(黄色边框,蓝色背景)?

它也可以添加到texbox吗?

是否有集中的地方,因为我希望这种风格能够影响我应用中不同页面的按钮?

1 个答案:

答案 0 :(得分:6)

在这些情况下,您可以使用Styles

  • 您将在类型
  • 的多个控件上应用相同的属性(或成员)
  • 您将保存好的和所需的类型状态,并在以后使用它。

您可以在控件的资源中添加此Style,或者像这样添加ResourceDictionaries

<Style TargetType="Button">
    <Setter Property="BorderBrush" Value="Yellow"/>
    <Setter Property="Background" Value="Blue"/>
</Style>

如果您定义x:key,那么您应明确说明哪个按钮符合您的风格(例如<Button Style="{StaticResource myButtonStyleKey}">),否则您的风格将自动应用于按钮。

编辑:在项目中添加 ResourceDictionary (名为myStyles.xaml)(在名为MyResource的文件夹中)。这是代码:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="Button">
        <Setter Property="BorderBrush" Value="Yellow"/>
        <Setter Property="Background" Value="Blue"/>
    </Style>
</ResourceDictionary> 

然后在App.xaml添加此内容:

<Application x:Class="WPFApp.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="MyResource/myStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>