2010-12-01 27 views
0

我想在存在验证错误时将模板定义为模板,并将第一条错误消息显示为工具提示。如何为所有控件定义默认工具提示样式

它在以下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> 

我不能让它为控制工作,虽然,即下面不给任何提示

<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> 

任何想法?

回答

1

我建议你为此创建一个Behavior

每个控件本身都是独一无二的,这不是将特定行为附加到所有控件的可靠方法。事实上,您最终可能会将这个属性设置为不需要验证的不需要的控件。

Behaviors很干净,您只能将它们分配给选定的控件。 Attached PropertiesMaster Behavior可用于将Behaviors分配给子控件。

这是一个CodeProject article from Josh Smith让你开始Behaviors

相关问题