我想在有验证错误时使用模板定义样式,并将第一条错误消息显示为工具提示。
在以下xaml中定位特定控件(如DatePicker)时,它可以正常工作。
<Style TargetType="{x:Type ToolKit:DatePicker}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
我无法让它为Control工作,即以下内容不提供任何工具提示
<Style TargetType="{x:Type ToolKit:Control}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
有什么想法吗?
答案 0 :(得分:1)
我建议你为这个创建一个Behavior
。
每个控件本身都是唯一的,这不是将特定行为附加到所有控件的可靠方法。事实上,您最终可能会在不需要验证的不需要的控件上设置此属性。
Behaviors
很干净,您只能将它们分配给选定的控件。可以使用Attached Properties
或Master Behavior
将Behaviors
分配给子控件。
这是一个CodeProject article from Josh Smith,可以帮助您开始使用Behaviors
。