C# WPF控件模板:保持Windows的外观

C# WPF控件模板:保持Windows的外观,c#,wpf,xaml,controltemplate,C#,Wpf,Xaml,Controltemplate,我正在为继承的TextBox类开发一个控件模板。我想使用此模板在ScrollViewer中添加其他控件。我可以很好地实现这一目标,但我无法在如此遥远的地方重新创建边框,使其与Windows的外观和感觉相匹配 我有Windows经典作为我在XP上的主题。文本框通常以标准插入边框样式显示。在XP Fischer Price主题下,textbox的边框为扁平样式和浅蓝色 有没有办法在模板中指定类似的内容?理想情况下,它将使用默认主题(经典主题为灰色插图,fischer price主题为平面和浅蓝色)。

我正在为继承的TextBox类开发一个控件模板。我想使用此模板在ScrollViewer中添加其他控件。我可以很好地实现这一目标,但我无法在如此遥远的地方重新创建边框,使其与Windows的外观和感觉相匹配

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


有没有办法在模板中指定类似的内容?理想情况下,它将使用默认主题(经典主题为灰色插图,fischer price主题为平面和浅蓝色)。

您必须为每个已知主题提供单独的控件模板。没有通用的方法来创建主题无关的ControlTemplate。事实上,WPF本身为每个官方主题维护单独的控制模板(Zune主题除外,WPF回到战舰灰色)。我不确定这是否可行,因为我不确定您的设置是什么。我也不知道你是否关心在飞行中改变主题。您可以尝试设置文本框类的样式

BasedOn="{DynamicResource {x:Type TextBox}}"
+1代表“Fisher Price”(不是它的拼写,而是对它的提及)