单击其他按钮时取消选中 ToggleButton

Uncheck ToggleButton when other button is clicked

根据描述,我有一个 ToggleButton 和一个 Button

ToggleButton 切换时 Button 出现,未切换时消失。

我想触发 ToggleButton 属性 IsChecked 并在单击 Button 时将其设置为 false。我知道应该用触发器来完成,但我不知道怎么做。

<ToggleButton x:Name="EditBtn" VerticalAlignment="Top" Focusable="False">

<Button VerticalAlignment="Bottom" Height="24" Width="24" 
        Visibility="{Binding ElementName=EditBtn, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}"
        Command="{Binding ElementName=InfoList, Path=DataContext.SaveCommand}" CommandParameter="{Binding}" >
    <Button.Style>
        <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonTransparentStyle}">
            <Style.Triggers>
                <!-- Something here? -->
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

这是一个使用 StoryBoard 的选项:

<Button VerticalAlignment="Bottom" Height="24" Width="24" 
    Visibility="{Binding ElementName=EditBtn, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}"
    Command="{Binding ElementName=InfoList, Path=DataContext.SaveCommand}" CommandParameter="{Binding}" >
    <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
            <BeginStoryboard>
                <Storyboard>
                    <BooleanAnimationUsingKeyFrames
                        Storyboard.TargetName="EditBtn"
                        Storyboard.TargetProperty="(ToggleButton.IsChecked)">
                        <DiscreteBooleanKeyFrame
                            KeyTime="00:00:00"
                            Value="False"/>
                    </BooleanAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Button.Triggers>
</Button>

您还可以绑定 ToggleButton 的 IsChecked 属性,然后只需修改 ViewModel 中附加的 属性(在您的 Button 命令触发的空白处)。