如何选中telerik组合框内的所有复选框复选框已选中的事件?

时间:2012-02-23 13:12:58

标签: wpf

我在telerik组合控件中有复选框。如果用户单击复选框列表中的“全部”选项,则我需要选中所有复选框。 复选框值。 我的示例代码如下。

<telerik:RadComboBox  Name="rcbDays" Grid.Row="1" Grid.Column="1" Width="200" HorizontalAlignment="Left" ItemsSource="{Binding  MonthDaysList}"  VerticalAlignment="Center" >
       <telerik:RadComboBox.ItemTemplate>
           <DataTemplate>
               <StackPanel Orientation="Horizontal">
                  <CheckBox Name="chkDays" Content="{Binding DaysText}"
           Tag="{Binding DaysValue}" Checked="chkDays_Checked" />
                </StackPanel>
            </DataTemplate>
       </telerik:RadComboBox.ItemTemplate>
</telerik:RadComboBox>
private void chkWeeks_Checked(object sender, RoutedEventArgs e)
{
    //Here I want code for selecting all checkboxes.
}

3 个答案:

答案 0 :(得分:0)

您绑定ComboBox的项目应该具有IsSelected之类的属性,然后您应该将数据模板IsChecked的{​​{1}}绑定到该CheckBox。然后你只需要迭代源集合并在所有项目上设置IsSelected=true

e.g。

public class MyClass : MyBaseClass // Whatever you may have called it,
{
     public bool IsSelected { ... }
     public string DaysText { ... }
     //...
}
   <DataTemplate>
       <StackPanel Orientation="Horizontal">
          <CheckBox IsChecked="{Binding IsSelected}" Content="{Binding DaysText}" Tag="{Binding DaysValue}" />
        </StackPanel>
   </DataTemplate>
//In the handler that is supposed to select all
foreach (var item in MonthDaysList) item.IsSelected = true;

当然,该物业需要change notifications

(还有关于可用性的说明:如果您需要多个项目选择使用ComboBoxes <,我不会CheckBoxes应该包含ListBox / p>

答案 1 :(得分:0)

如H.B所述,您需要再选择一个属性。 将IsChecked =“{Binding IsSelected}”添加到xaml文件中的CheckBox标记。在相应的类中创建一个属性,即public bool isSeleted .......

当你进入事件chkWeeks_Checked()在这个函数中获取ComboBox项目源的引用,如objList =(TypeCastYourClassType)YourComboBox.ItemSource; ...现在objList包含所有复选框项。迭代objList集合并为每个单独的项获取isSeleted属性并完成.... 在你的情况下

MonthDayList = (TypeCastYourClassType)rcbDays.ItemSource;
for(int i=0;i<MonthDayList.Count;i++)
{
    MonthDayList[i].isSelected = true;
}

答案 2 :(得分:0)

以下是允许在telerik组合框中选择多个值的一些很好的讨论。 它使用组合框中的复选框

http://codedotnets.blogspot.in/2012/02/checkboxes-in-comboxes-to-allow.html

谢谢:)