WPF控件模板:保持Windows外观

时间:2010-05-27 21:09:06

标签: c# wpf xaml controltemplate

我正在为继承的TextBox类创建一个控件模板。我想使用此模板通过ScrollViewer添加其他控件。我可以很好地实现这个目标,我不能做的就是重新创建边框,使其与Windows外观相匹配。

我将Windows经典作为我在XP上的主题。文本框通常以标准插入边框样式显示。使用XP Fischer Price主题,文本框的边框是平面样式和浅蓝色。

有没有办法在模板中指定这样的东西?理想情况下,它将使用主题默认(灰色插入为经典,平面和浅蓝色为fischer价格主题)。

2 个答案:

答案 0 :(得分:0)

您必须为每个已知主题提供单独的ControlTemplate。没有通用的方法来创建与主题无关的ControlTemplate。事实上WPF本身为每个官方主题维护单独的ControlTemplates(激活Zune主题,其中WPF回归战舰灰色)。

答案 1 :(得分:0)

我不确定这是否有效,因为我不确定你的设置是什么。我也不知道你是否担心动态改变主题。您可以尝试将文本框类的样式设置为

BasedOn="{DynamicResource {x:Type TextBox}}"