Laden...

Trigger Path innerhalb eines Button

Erstellt von Mexxchen vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.388 Views
M
Mexxchen Themenstarter:in
70 Beiträge seit 2011
vor 11 Jahren
Trigger Path innerhalb eines Button

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>
2.223 Beiträge seit 2005
vor 11 Jahren

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

M
Mexxchen Themenstarter:in
70 Beiträge seit 2011
vor 11 Jahren

Schön schön...es funktioniert. Vielen Dank 👍