有没有人知道有一种方法可以在WPFToolkit的CheckComboBox中手动启用(打开勾选)复选框?
不幸的是,组合框中的项都是字符串。
当“全选”复选框被勾选时,我正在尝试启用所有标志。
发布于 2014-09-04 19:10:10
这是一个相当晚的回复,但我认为最好还是把它贴出来,以防它能帮到别人。对于WPFToolkit版本,我使用了以下方法:
public class Descriptor : INotifyPropertyChanged
{
private bool isSelected;
public bool IsSelected
{
get
{
return this.isSelected;
}
set
{
if (this.isSelected != value)
{
this.isSelected = value;
// Raise INotifyPropertyChanged
}
}
}
public string Name { get; set; }
}创建这些元素的集合,然后将它们分配给CheckComboBox的ItemsSource。
为了处理select all,我们有一个标签为"“的选项:”“作为集合中的第一项,如果勾选此项,则所有项都被取消选择,并且所有情况都在幕后处理。要处理更改的选择,需要向描述符类添加一个事件,并在每次更改IsSelected属性时触发它。
发布于 2013-08-06 16:26:41
我最终放弃了扩展WPFToolkit,因为它不能直接访问复选框。
相反,我创建了一个ComboBox并在其中手动定义了复选框,我可以通过名称直接访问它,并且可以通过使用它的[选中/未选中[事件]来实现“全选”,并使用ComboBox SelectionChanged来显示以CSV格式表示所选内容的默认值。
也许很笨拙,但它能完成工作。
PS。我甚至不需要为ComboBox的DataTemplate而烦恼。
发布于 2017-08-23 16:47:44
代码隐藏中的一种方法是
var ComboSelector = MyCheckComboBox as Xceed.Wpf.Toolkit.Primitives.Selector;
foreach(var item in MyCheckComboBox.Items)
ComboSelector.SelectedItems.Add(item);https://stackoverflow.com/questions/18057680
复制相似问题