2010-12-01 4 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 PropertiesまたはMaster Behaviorを使用して、子コントロールにBehaviorsを割り当てることができます。

Behaviorsを開始するにはCodeProject article from Josh Smithがあります。

関連する問題