我怎样才能覆盖BorderBrush?

时间:2011-09-21 16:52:55

标签: c# .net wpf xaml expression-blend

我有一个文本框的样式,我希望在应用程序层中覆盖此样式的de BorderBrush。

我试过了:d:LayoutOverrides =“BorderBrush”。但这不起作用。

我想要相同的风格,但是使用红色的BorderBrush。

我该怎么办呢?

谢谢。

2 个答案:

答案 0 :(得分:2)

正如您在标记中提到的Blend:您可以右键单击文本框搜索模板并从现有文件创建新模板(编辑副本)。这将提取文本框的完整定义,您可以更改所需的所有内容。

以下是一步一步解释的所有内容:Create or edit a control template

答案 1 :(得分:1)

将您的风格基于旧风格并更改边框画笔

<Style TargetType="TextBox" BasedOn="{StaticResource oldBrushKey}">
    <Setter Property="BorderBrush" Value="Red" />
</Style>

或者如果它是您要覆盖的默认样式,请使用

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