我有一个类似于此的日期选择器:
<Style TargetType="DatePickerTextBox">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox Text="{Binding Path=SelectedDate, StringFormat='MM/dd/yyyy',RelativeSource={RelativeSource AncestorType=DatePicker}}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我的表单上也有一个文本框。我想在我的文本框上应用Validation.ErrorTemplate样式,但不在我的datepicker中的文本框上。有没有办法做到这一点?
我仍然需要在我的日期选择器上进行验证。
答案 0 :(得分:0)
是的,声明样式并在其上设置 x:Key
,并使用 StaticResource
标记扩展将该样式仅绑定到外部textBox,以便所有textBox都不会继承那种风格。
<Style x:Key="OuterTextBoxStyle" TargetType="TextBox"
BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
.....
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
并绑定到外部textBox,如下所示:
<TextBox Style="{StaticResource OuterTextBoxStyle}"/>