WPF为什么改变TextBlock字体Button,Label等控件的字体都变了
如题,代码如下<StyleTargetType="{x:TypeTextBlock}"><SetterProperty="FontFamily"Value="华文彩云"/...
如题,代码如下
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="华文彩云"/>
</Style>
模板里我确定是没有TextBlock的!!!! 展开
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="华文彩云"/>
</Style>
模板里我确定是没有TextBlock的!!!! 展开
2个回答
展开全部
因为wpf里每个控件都有其控件模板(ControlTemplate)。如果你有blend可以任意打开个控件看看其Template里的内容。Button,Label等控件显示文字的地方在它们的模板内都用了 TextBlock。 所以当你设置TextBlock的样式的时候,这些控件的字体也都变了。
追问
我确实用Blend看过,模板里没有TextBlock
追答
恩,我刚建了个demo测试了下,在Resource里加了TextBlock的style。但是我Button和Label控件的字体样式没有发生变化。Button和Label模板里用来显示内容的是ContentPresenter。也就是说明它们的Content是可以被定制的。任何控件都可以放在这里面。你看下是否这些Button和label的Content里面有放textblock.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询