【问题标题】:Combobox with "Select All" CheckBox in SilverLightSilverLight 中带有“全选”复选框的组合框
【发布时间】:2026-01-18 08:05:01
【问题描述】:

我有ComboBox 我正在绑定列表,它将与CheckBox 一起出现。现在我想用CheckBox 添加“全选”,当用户选择它时,应该选择剩下的所有CheckBox。以下是我的代码,其中“全选”出现在所有项目之前,但我只想要一次。

代码:

<ComboBox x:Name="SynonymsCmbBx" ItemsSource="{Binding Synonyms}" Width="250" MaxDropDownHeight="100"  Margin="0,0,375,0"  ScrollViewer.VerticalScrollBarVisibility="Auto" Visibility="Collapsed">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <CheckBox Content="Select All" Height="16" Name="checkBox1" IsChecked="True" FontWeight="Bold" />
                <CheckBox Content="{Binding Display}" Margin="10,0,0,0" IsChecked="{Binding Path=IsChecked, ElementName=checkBox1}" />
                <!--<CheckBox Content="{Binding Display}" Margin="10,0,0,0" />-->
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ComboBox>

输出:

【问题讨论】:

    标签: c# silverlight checkbox combobox


    【解决方案1】:

    订阅 Select All 的 check/selected 事件,并使用与从目标复选框中提取选中值相同的过程;反转过程并根据状态将相关复选框设置为 true 或 false。

    【讨论】: