【问题标题】:How do I mimic the default template used for a WPF control?如何模仿用于 WPF 控件的默认模板?
【发布时间】:2012-03-27 23:04:38
【问题描述】:

我的窗口上有一个区域(Border 类型的控件),其内容与 ListView 中附近 GridView 中的选定对象相关。

我希望该区域的样式与所选 ListViewItem 的样式(边框和渐变)相匹配。外观取决于用户的操作系统及其主题。

如何使我的框与列表项具有相同的外观?

模型:

【问题讨论】:

标签: wpf templates xaml styles themes


【解决方案1】:

我不认为我完全理解,但我猜你说的是默认的 ListBox 选择画笔?

该资源被称为

{x:Static SystemColors.HighlightBrushKey}

这是您在模型中显示的蓝色背景。如果您还想设置前景色为:

{x:Static SystemColors.HighlightTextBrushKey}

这两个资源将为给定的用户/操作系统/主题提供系统设置以供选择。这就是你所追求的吗?

【讨论】:

  • 边框和渐变呢?
  • 嗯,你展示的模拟看起来实际上是使用 Focused Button 样式来获得渐变和 1px 边框。这与 HighlightBrushKey 不同。因此,如果您确实拥有在您的模型中显示的样式,那么 ListBox 选择画笔已被自定义,您将不得不在右侧的 Border 元素上使用这些资源。边框的背景可以是渐变画笔,然后设置 BorderBrush 以获取 1px 线周围的外部。这有意义吗?
  • 模型显示了 Windows 7 中 GridView 的默认外观。
猜你喜欢
  • 2011-04-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多