generic.xaml中引用的样式未应用

时间:2012-10-12 20:06:14

标签: wpf xaml

我在Generic.xaml中有这种风格

<Style x:Key="WhiteHyperlink" TargetType="Hyperlink">
    <Setter Property="Foreground" Value="White" />
</Style>

我在资源词典中有这一行

<Style TargetType="{x:Type Hyperlink}" BasedOn="{StaticResource WhiteHyperlink}" />

我想将它应用于此:

<Textblock Grid.Colum="2" >
    <Hyperlink Command="{StaticResource ExecuteMailAction}" CommandParameter="{Binding Path=MailboxID}">
        <TextBlock Text="{Binding Path=MailboxName}" />
    </Hyperlink>
</Textblock>

但格式化未应用。我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

我查找了Generic.xaml,看起来Generic.xaml中的样式只有在被设置样式的控件不是与主题相关的默认样式时才会应用。 (What is so special about Generic.xaml?) 我猜测Hyperlink的默认样式取决于操作系统的主题,这就是为什么你的风格不会从Generic.xaml中提取出来的原因。我建议不要使用Generic.xaml来存储你的样式,而是创建一个单独的文件来存储你的所有样式(MyStyles.xaml或类似的东西)。然后只需使用ResourceDictionary s从该文件中获取样式。