none
Binding RRS feed

  • Frage

  • Hallo,

    ich möchte ein ToolTip angezeigt bekommen wenn die Validierung fehlschlägt.
    So weit, so gut. Das folgende funktioniert schon einmal.

    <Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
     <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>
    
    

    Nun möchte ich aber den ToolTip noch etwas formatieren, z.B. roter Hintergrund und weiße Schrift.
    Dazu habe ich folgendes geschrieben:

    <Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
     <Style.Triggers>
      <Trigger Property="Validation.HasError" Value="true">
       <Setter Property="ToolTip">
    	<Setter.Value>
    	 <ToolTip Background="Red" Foreground="White">
    	  <TextBlock Text="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}" />
    	 </ToolTip>
    	</Setter.Value>
       </Setter>
      </Trigger>
     </Style.Triggers>
    </Style>
    

    Allerdings funktioniert das Binding an den Text des TextBlocks nicht.
    Ich denke mal das ich mit RelativeSource={x:Static RelativeSource.Self} eine Referenz auf das ToolTip-Steuerelement bekomme und nicht auf die eigentliche TextBox.

    Kann man das Binding irgendwie auf die TextBox umbiegen?

    Gruss Sven

    Donnerstag, 24. März 2011 14:58

Antworten