如何定义所有文本块元素相同的颜色

ie1*_*ie1 8 wpf styles

我们正在为大多数类型使用全局样式定义.我们在app.xaml文件中定义.使用TextBlock时,定义前景色是一个问题,因为它使用TextBlock(例如Button的内容颜色)更改所有控件.我们如何定义仅对特定TextBlock用法起作用的全局样式?

目前有问题的用法:

<Style TargetType={x:Type TextBlock}>
  <Setter Property="Foreground" Value="Red"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

svi*_*ick 2

由于我认为没有办法区分 \xe2\x80\x9cyour\xe2\x80\x9dTextBlock和其他控件的一部分,因此您的选择非常有限。

\n\n
    \n
  • 您可以创建命名并将或Style添加到所有s。这将是相当乏味且不DRY的。Style="{StaticResource coloredTextBlock}"Foreground="{StaticResource textBlockColor}"TextBlock
  • \n
  • 您可以创建自己的类型,继承TextBlock该类型并设置其样式。这具有上述解决方案的一些缺点(您必须记住这样做)。但它的重复次数要少得多。
  • \n
\n