在自定义WPF控件中继承样式

时间:2010-04-23 16:56:40

标签: wpf styles

我有一个数据网格,某些列需要包含链接到详细信息窗口的文本。所以,为了让自己更轻松一点,我创建了一个UserControl,它基本上是一个带有控件模板的Button,其中包含一个TextBlock(我可以用其他许多方式完成此操作,我知道,但我想到了按钮)已经暴露了一个Click事件,为什么不呢?)。然而,当涉及到样式时,事情变得有点毛茸茸:我想​​给文本一种“超链接”的格式 - 蓝色文字,带下划线 - 这样就很清楚它们是链接(也是,所以它们类似于我正在重新实现的遗留WinForms应用程序中的格式。但我也希望能够为文本设置样式 - 理想情况下,如果在父单元格的样式中设置文本颜色,它应该抓取文本颜色等内容。

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

1 个答案:

答案 0 :(得分:0)

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

UserControls不是真正可设置样式的,除非你以某种方式开始为绑定样式创建自定义属性..但是这些都不是隐式的。