2016-03-29 11 views
0

私は、ツールチップの条件付きスタイルを使用して、自分のTextBoxのスタイルを作成しようとしています。 TextBoxプロパティValidation.HasErrorsがtrueの場合、ツールヒントのスタイルが異なる必要があります。条件付きツールヒントのスタイル

親スタイル(テキストボックス)定義から子スタイル(ツールヒント)を条件付きで変更する方法がわかりません。

以下のコードでは、ツールヒントスタイルが常に適用されます。

<Style x:Key="errorStyle" TargetType="{x:Type Control}"> 
       <Style.Resources> 
        <Style TargetType="{x:Type ToolTip}"> 
         <Setter Property="Background" Value="Red"/> 
         <Setter Property="Foreground" Value="White"/> 
        </Style> 
       </Style.Resources> 
       <Setter Property="Validation.ErrorTemplate"> 
        <Setter.Value> 
         <ControlTemplate> 
          <DockPanel> 
           <Border BorderBrush="Red" BorderThickness="2" CornerRadius="2" Background="{x:Null}"> 
            <AdornedElementPlaceholder/> 
           </Border> 
          </DockPanel> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
       <Style.Triggers> 
        <Trigger Property="Validation.HasError" Value="true"> 
         <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, 
           Path=(Validation.Errors)[0].ErrorContent}"/> 
        </Trigger> 

       </Style.Triggers> 
</Style> 
<Style TargetType="TextBox" BasedOn="{StaticResource errorStyle}" /> 

ありがとうございます。

+0

あなたを助けることができると思います。 – darkomen

答えて

0

ツールチップのPlacementTargetプロパティを使用して、ツールチップスタイルを変更することができます。 DataTriggerは残りの作業を行います。

は、これは私が何を意味するかについてのサンプルです:

<ToolTip Content="Tooltip content..."> 
    <ToolTip.Style> 
     <Style BasedOn="{StaticResource {x:Type ToolTip}}" TargetType="{x:Type ToolTip}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, 
               Path=PlacementTarget.(Validation.HasError)}" 
           Value="True"> 
        <Setter Property="Background" Value="Red" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </ToolTip.Style> 
</ToolTip> 

私はそれはあなたがより理解し、あなたを助けるためのいくつかの少しのコードを共有しなければならない

+0

それは問題ありません。ありがとう。 – Poeta

+0

あなたはようこそ@Poeta –

関連する問題