是否有人知道在CheckComboBox for WPFToolkit中的复选框上手动启用(打开勾号)的方法?
不幸的是,组合框中的项目都是字符串。
勾选“全选”复选框后,我正尝试启用所有标记。
答案 0 :(得分:2)
这是一个相当晚的回复,但我认为最好发布这个以防万一。我在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。
要处理全部选择,我们有一个标签为""作为集合中的第一个项目,如果勾选此项目,则取消选择所有项目,并且所有案例都在引擎盖下处理。要处理选择Changed,它确实涉及向Descriptor类添加一个事件,并在每次更改IsSelected属性时触发它。
答案 1 :(得分:0)
我最终抛弃了Extended WPFToolkit,因为它无法直接访问复选框。
相反,我创建了一个ComboBox,并在其中手动定义了Checkbox,我可以直接通过名称访问,并且能够通过使用[Checked / Unchecked [event,并使用ComboBox SelectionChanged显示一个]来实现“Select All”默认值,表示以CSV格式选择的内容。
也许是笨重的,但它完成了工作。
PS。我甚至不需要为ComboBox
使用DataTemplate答案 2 :(得分:0)
代码背后的一种方式是
var ComboSelector = MyCheckComboBox as Xceed.Wpf.Toolkit.Primitives.Selector;
foreach(var item in MyCheckComboBox.Items)
ComboSelector.SelectedItems.Add(item);