列表中的多个复选框,并检入wpf

时间:2017-01-20 12:39:32

标签: c# wpf checkbox

我有一个问题,我在combobox框中有一个复选框列表,它看起来像这样:

                 <StackPanel Orientation="Vertical" DataContext="{Binding CandidateEntity}">

                        <StackPanel Orientation="Horizontal">

                            <ComboBox ItemsSource="{Binding DataContext.SkillSetEntities, ElementName=CrudCandidate }"
                                IsEditable="True" IsReadOnly="True" Text="Umiejętności">
                                <ComboBox.ItemTemplate>
                                    <DataTemplate>
                                        <CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}" />
                                    </DataTemplate>
                                </ComboBox.ItemTemplate>
                            </ComboBox>
                        </StackPanel>

                 </StackPanel>

现在我在绑定的项目源(CandidateEntity.SkillSets)中也有一组技能组对象,现在我该如何检查我的技能组对象集合中的那些复选框?

我想在表格中为CandidateEntity对象创建一个版本,该版本的一部分是在组合框中表示的技能组列表。

编辑:

我通过添加技能组模型道具来解决问题:

 private bool _isSelected = false;

    [NotMapped]
    public bool IsSelected
    {
        get
        {
            return this._isSelected;
        }
        set
        {
            _isSelected = value;
        }
    }

然后在视图模型中:

    private List<SkillSet> GetSkillSets()
    {
        var skillsetList = this._catalog.SkillSets.ToList();
        var candidateSkillsetList = this.CandidateEntity.SkillSets.ToList();
        foreach (SkillSet skillset in skillsetList)
        {
            foreach (SkillSet candidateSkillset in candidateSkillsetList)
            {
                if (skillset.id == candidateSkillset.id)
                {
                    skillset.IsSelected = true;
                }
            }
        }

        return skillsetList;
   }

和wpf中的复选框:

<CheckBox Content="{Binding Name}" IsChecked="{Binding IsSelected}"/>

但我很确定必须有更简单的方法来处理它,是吗?

0 个答案:

没有答案