【发布时间】:2010-10-16 03:48:39
【问题描述】:
如您所知,内置主题都定义了标准控件(例如 TreeView 控件)的样式。我们正在尝试创建一个看起来非常像 TreeView 但实际上不是 TreeView 的东西,也不是 TreeView 的子类。它只是有一些我们希望看起来像一个以保持一致性的部分。
例如,我们的控件也有一个选定项,我们希望其背景与当前主题的 TreeView(或更准确地说是 TreeViewItem)中选定项的背景外观相匹配。 (您不能简单地使用高亮颜色,因为主题有很好的渐变画笔和边框,而不仅仅是纯色画笔。)与我们的展开/折叠切换按钮相同。我们希望它们看起来就像在当前主题的 TreeView 中使用的一样。 (即有时是一个三角形,有时是一个带有“+”的框,等等)
现在,虽然我们可以简单地打开 Expression 并自己复制样式(或至少是我们需要的部分),但我们必须为 MS 提供的每个主题都这样做。另外,这不会处理较新的主题。从最纯粹的角度来看,这是重复的样式信息,这对我来说是错误的。
此外,如果有人为实际的 TreeView(Item) 设置样式,我们也希望将其拾取。由于我们想要设置样式的部分是 TreeView 的必需部分,因此我们确信它们在样式方面存在于某个地方。
甚至不确定我想要做什么,但如果有人知道,他们很可能在这里!
【问题讨论】:
标签: wpf templates themes custom-controls