按钮和Menuitem前景颜色被Textblock样式覆盖

时间:2011-11-02 11:06:05

标签: wpf xaml styles

这是我应用于项目中App.XAML文件中所有文本块的样式。

  <Style TargetType="{x:Type TextBlock}">
        <Setter Property="Foreground" Value="Orange" />
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="HorizontalAlignment" Value="Left"/>
    </Style>

但是这种风格会改变我项目中所有菜单项和按钮的前景色,即使我将这些控件的前景色指定为黑色。该问题的任何解决方案?

我的按钮XAML如下:

<Button x:Name="BtnEdit" Content="Details" Click="BtnEdit_Click" Margin="10,0,0,0"  />   

1 个答案:

答案 0 :(得分:1)

将您的样式从App.xaml App.Resources移至MainWindow.xaml Window.Resources。
如果您需要在多个窗口或页面中使用您的样式,请根据本文将其移至单独的资源字典xaml文件(添加 - &gt; new - &gt; wfp - &gt;资源字典):
resource dictionarys
将字典合并到Window.Resources中,而不是像示例中的Application.Resources!例如

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
             <ResourceDictionary Source="Dictionary1.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>