Hallo,
ich habe einen Button, der mit Hilfe eines Path ein Plus oder ein Minus haben soll. Ich versuche dieses nun in Anhängigkeit einer Textbox, welche sich auf meiner View befindet zu triggern. Also wenn der Text leer ist, dann soll ein Plus zu sehen sein und wenn Text vorhanden ist, dann entsprechend das Minus. Leider funktioniert der Trigger nicht. Kann mir jemand auf die Sprünge helfen?
<Button Grid.Column="1" Grid.Row="1"
Command="{Binding Path=HandleAdditionalReasonCommand, UpdateSourceTrigger=PropertyChanged}" >
<StackPanel Orientation="Horizontal">
<Path Name="Test" VerticalAlignment="Center" Margin="5" Data="M 0 0 L 18 0 18 6 0 6Z" Fill="#FF626262">
<Path.Resources>
<Style TargetType="{x:Type Path}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=AdditionalRefuseReasonTextBox, Path=Text}" Value="">
<Setter Property="Data" Value="M 0 6 L 6 6 6 0 12 0 12 6 18 6 18 12 12 12 12 18 6 18 6 12 L 0 12 Z" />
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Resources>
</Path>
</StackPanel>
</Button>
Hallo Mexxchen,
das ganze ist relativ einfach, denn wenn Du in einem Trigger ein Propperty ändern möchtest, muss der Inital Wert ebenfalls über über einen Setter gesetzt werden.
zb
<Path Name="Test" VerticalAlignment="Center" Margin="5" Fill="#FF626262">
<Path.Style>
<Style TargetType="{x:Type Path}">
<Setter Property="Data" Value="M 0 0 L 18 0 18 6 0 6Z"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=AdditionalRefuseReasonTextBox, Path=Text}" Value="">
<Setter Property="Data" Value="M 0 6 L 6 6 6 0 12 0 12 6 18 6 18 12 12 12 12 18 6 18 6 12 L 0 12 Z" />
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
viele Grüße
Lars