WPF为什么改变TextBlock字体Button,Label等控件的字体都变了

如题,代码如下<StyleTargetType="{x:TypeTextBlock}"><SetterProperty="FontFamily"Value="华文彩云"/... 如题,代码如下
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="华文彩云"/>
</Style>
模板里我确定是没有TextBlock的!!!!
展开
 我来答
Mickal小米
推荐于2016-03-06 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1774万
展开全部
因为wpf里每个控件都有其控件模板(ControlTemplate)。如果你有blend可以任意打开个控件看看其Template里的内容。Button,Label等控件显示文字的地方在它们的模板内都用了 TextBlock。 所以当你设置TextBlock的样式的时候,这些控件的字体也都变了。
追问
我确实用Blend看过,模板里没有TextBlock
追答
恩,我刚建了个demo测试了下,在Resource里加了TextBlock的style。但是我Button和Label控件的字体样式没有发生变化。Button和Label模板里用来显示内容的是ContentPresenter。也就是说明它们的Content是可以被定制的。任何控件都可以放在这里面。你看下是否这些Button和label的Content里面有放textblock.
xmjkmh
2014-01-24 · 超过31用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:64.7万
展开全部
因为button label等控件默认模版里显示文字的地方用的就是textblock. 所以textblock写样式时必须得加Key,然后需要用样式的textblock 显示引用样式。
追问
模板里没有TextBlock,这个TextBlock从何而来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式