2

我有一个刷新按钮(一个切换按钮),当在我的列表框中选择了一个项目时,我想将其设置为“已检查”状态。(使用我的切换按钮刷新列表框选择。)当 IsChecked 为真时,切换按钮成功设置为蓝色。

我尝试过的是以下变体:

  <ToggleButton x:Name=ShapeRefreshToggle />
  <ListBox x:Name=ShapeListBox" Selector.IsSelected="False"
           SelectedItem="{Binding SelectedShape, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
       <i:Interaction.Triggers>
             <i:EventTrigger Selector.IsSelected="True">
                 <ei:GoToStateAction TargetName="connShapeRefreshToggle" StateName="Checked"/>
             </i:EventTrigger>
       </i:Interaction.Triggers>

谁能看到我在这里缺少的东西?我没有收到任何错误。

提前致谢!

4

1 回答 1

2

它似乎可以正常DataTrigger工作ToggleButton

 <StackPanel>
    <ToggleButton Height="30" Width="80" Content="toggle" >
        <ToggleButton.Style>
            <Style TargetType="ToggleButton">
                <Setter Property="IsChecked" Value="True" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding SelectedItem, ElementName=listbox}" Value="{x:Null}">
                        <Setter Property="IsChecked" Value="False" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

    <ListBox x:Name="listbox" ItemsSource="{Binding MyItems}" Height="100"/>
</StackPanel>

结果:

在此处输入图像描述 在此处输入图像描述

于 2013-08-16T00:23:42.603 回答