0

是否有人知道在 CheckComboBox for WPFToolkit 中的复选框上手动启用(打开勾选)的方法?

不幸的是,组合框中的项目都是字符串。

当勾选“全选”复选框时,我正在尝试启用所有标志。

4

3 回答 3

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 属性更改时触发它。

于 2014-09-04T11:10:09.697 回答
0

由于无法直接访问复选框,我最终放弃了 Extended WPFToolkit。

相反,我创建了一个 ComboBox 并在其中手动定义了复选框,我直接按名称访问它,并且能够通过使用它的 [Checked/Unchecked[ 事件来实现“全选”,并使用 ComboBox SelectionChanged 来显示默认值以 CSV 格式表示已选择的内容。

也许笨重,但它可以完成工作。

PS。我什至不需要为 ComboBox 使用 DataTemplate

于 2013-08-06T08:26:41.467 回答
0

后面代码中的一种方法是

var ComboSelector = MyCheckComboBox as  Xceed.Wpf.Toolkit.Primitives.Selector;
foreach(var item in MyCheckComboBox.Items)
ComboSelector.SelectedItems.Add(item);
于 2017-08-23T08:47:44.233 回答