我有一个非常简单的UserControl,它只包含在一个Border元素中的TextBlock。
是否有一种方法可以从包含此UserControl的窗口中应用样式到TextBlock上。
我知道我可以创建一个样式..
<Style TargetType='TextBlock'>
但是这适用于窗口中所有 TextBlock,而不仅仅是在我的 UserControl 中的那些。
所以我想说一些像这样的话...
<Style TargetType='MyUserControl.TextBlock'>
谢谢,
Rich。
附注:这是我尝试做的事情的简化示例!
额外说明
今天晚上我在开车回家时,脑海中一直想着这件事,并想到了一个可能的解决方案...那就是创建一个基本的TextBlock控件子类,并称之为MyTextBlock...所以只需要像下面这样定义:
public class MyTextBlock : TextBlock { }
然后,在用户控件中,使用'MyTextBlock'而不是'TextBlock'。这将允许我对'MyTextBlock'类型应用样式。太棒了!!!
也许这不是最整洁的方法,但代码很少,而且它有效。
然而,由于我对WPF相当新,我对更标准的实现方式非常感兴趣。