2010-04-23 117 views
0

我有一个数据网格,并且某些列需要包含链接到详细信息窗口的文本。所以,为了让自己更容易一些,我创建了一个UserControl,它基本上是一个带有包含TextBlock的控件模板的Button(我可以用其他方法做到这一点,我知道,但是我想到了按钮已经公开了Click事件,为什么不呢?)。但是,当谈到造型时,事情变得有点多毛:我想给文本一个“超链接”格式 - 蓝色文本,下划线 - 这样就很清楚它们是链接(也是这样,它们类似于在我重新实现的传统WinForms应用程序中进行格式化)。但我也希望能够对文本进行样式设置 - 理想情况下,如果在父级单元格中设置文本颜色样式,它应该获取文本颜色等内容。在自定义WPF控件中继承样式

基本上,有没有一种简单的方法来实现一个自定义UserControl,它将a)从父元素中获取样式,b)以低优先级应用其默认样式,即只应用特定样式(如果尚未一套来自父母?我知道我可以通过绑定手动传递父类的样式,但我想知道是否有更简单的方法。

回答

0

听起来您需要为此创建一个真正的Control或ContentControl实现,以便您可以覆盖真实的样式和模板。

UserControls不是真正的stylable,除非你开始以某种方式创建绑定样式的自定义属性..但没有一个是隐含的。