【发布时间】:2015-06-26 09:28:26
【问题描述】:
我在将 FontFamily 定义为应用程序范围的文本框时遇到问题,因为我的字体系列是在窗口级别使用这种样式定义的:
<Style TargetType="Window" >
<Setter Property="FontFamily" Value="Lucida Sans Unicode"/>
<Setter Property="FontSize" Value="10pt"/>
</Style>
我以这种方式为我的文本框定义了字体系列:
<Style TargetType="{x:Type TextBox}">
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FontSize" Value="10pt"/>
</Style>
但是,我的 TextBox 样式没有应用,文本框中的文本仍然是 Lucida,而不是 Arial。 我怎样才能做到这一点 ? XAML 样式中是否有类似 css 的 !important 等效项来覆盖之前的?
我注意到我非常欣赏在 ResourceDictionaries 上执行它的 XAML 方式。
感谢回答
【问题讨论】:
-
这很有趣。您能否确认您是在 App.xaml 中而不是在每个窗口中设置这些样式?
-
在 App.xaml 和 Window 中,我都将它们定义为在运行时动态加载的 ResourceDictionary
-
整个应用程序的窗口/控制级别设置看起来很奇怪(我不完全理解)。请在此处查看 Gishu 的答案:stackoverflow.com/questions/431940/… 和 Nicolas 的此处:stackoverflow.com/questions/4279773/…。