WPF: ToggleButton wiązanie zmiany nazwy gdy nazwa jest w TextBlock wewnątrz StackPanelu w ToggleButton

0

Mam taki ToggleButton który działa, czyli jego tekst zmienia się w zależności czy ToggleButton jest kliknięty lub od kliknięty.

                                     <ToggleButton x:Name="ToggleMenuBtn" Margin="2,2,20,2" DockPanel.Dock="Right" Width="160" 
                                      HorizontalAlignment="Right" FontWeight="Bold" FontSize="14" >
                                        <ToggleButton.Resources>
                                            <Style TargetType="Border" BasedOn="{StaticResource RoundMe}"/>
                                        </ToggleButton.Resources>
                                        <ToggleButton.Style>
                                            <Style TargetType="{x:Type ToggleButton}">
                                                <Style.Triggers>
                                                    <Trigger Property="IsChecked" Value="False">
                                                        <Setter Property="Content" Value="Wybierz zaznaczoną"/>
                                                    </Trigger>
                                                    <Trigger Property="IsChecked" Value="True">
                                                        <Setter Property="Content" Value="Zmień wybór"/>
                                                    </Trigger>
                                                </Style.Triggers>
                                            </Style>
                                        </ToggleButton.Style>
                                    </ToggleButton>

Ale próbuje teraz wewnątrz tego ToggleButtona dać StackPanel z grafiką i tekstem i nie mogę teraz powiązać zmiany nazwy zawartej TextBlock nadrzędnego ToggleButtona z jego kliknięciem, jak to zrobić?
Próbowałem dać w TextBlock TextBlock.Style i tam w Triggerze zmieniać nazwę ale tam w Setterze nie wiem jak się odwołać do ToggleButton'a.
Z kolei tak jak niżej próbując robić od strony ToggleButton.Style i tam w Trigerze nie wiem jak odwołać się do TextBlocka, poniżej dwa rodzaje prób, ale wtedy zgłasza mi że w Setterze nie mogę ustawić TargetName.

                                     <ToggleButton DockPanel.Dock="Right" Height="35" Margin="0" Width="90" HorizontalAlignment="Right"
                                                  x:Name="ToggleBtnZatrzask">
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock x:Name="Tekst" VerticalAlignment="Center" FontSize="14" 
                                                  FontWeight="UltraBold" Opacity="0.8" Margin="2"/>
                                            <Image Margin="2" Height="20" Source="/View/Images/MultiPnP/Akcja.png" />
                                        </StackPanel>
                                        <ToggleButton.Resources>
                                            <Style TargetType="Border" BasedOn="{StaticResource RoundMe3}"/>
                                        </ToggleButton.Resources>
                                        <ToggleButton.Style>
                                            <Style TargetType="{x:Type ToggleButton}">
                                                <Style.Triggers>
                                                    <Trigger Property="IsChecked" Value="False">
                                                        <Setter TargetName="{Binding ElementName=Tekst}" 
                                                            Property="TextBlock.Text" Value="Wybierz zaznaczoną"/>
                                                    </Trigger>
                                                    <Trigger Property="IsChecked" Value="True">
                                                        <Setter TargetName="Tekst" Property="TextBlock.Text" Value="Zmień wybór"/>
                                                    </Trigger>
                                                </Style.Triggers>
                                            </Style>
                                        </ToggleButton.Style>
                                    </ToggleButton>
1

Tutaj jeden przykład. Stylujesz toggle buttona a powinieneś stylowć textblock

<UserControl x:Name = "myControl">
     <Label Content={Binding ElementName= myControl, Path=MyProperty}/>
</UserControl>

Poczytaj sobie tutaj https://stackoverflow.com/questions/1636807/what-exactly-does-wpf-data-bindings-relativesource-findancestor-do

0 użytkowników online, w tym zalogowanych: 0, gości: 0