代码之家  ›  专栏  ›  技术社区  ›  Turner Hayes

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

  •  0
  • Turner Hayes  · 技术社区  · 14 年前

    我有一个数据网格,某些列需要包含链接到详细信息窗口的文本。所以,为了让自己更容易,我创建了一个UserControl,它基本上是一个带有包含文本块的控件模板的按钮(我知道,我可以用很多其他方法来实现,但是我发现按钮已经公开了一个点击事件,为什么不呢?)。不过,当涉及到样式时,事情变得有点毛茸茸的:我想给文本一种“超链接”格式——蓝色文本,带下划线——这样就可以清楚地看到它们是链接(而且,它们类似于我正在实现的遗留WinForms应用程序中的格式)。但我也希望能够设置文本的样式——理想情况下,如果在父单元格的样式中设置了文本颜色,则它应该获取文本颜色之类的内容。

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

    1 回复  |  直到 13 年前
        1
  •  0
  •   Jeff Wilcox    14 年前

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

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