HandyOrg / HandyControl

Contains some simple and commonly used WPF controls
https://handyorg.github.io/
MIT License
6.18k stars 1.04k forks source link

CheckComboBox 为他设置默认选中项 SelectedItems.Add() 会提示无法绑定的提示 #1536

Closed ping9719 closed 8 months ago

ping9719 commented 9 months ago

Describe the bug

CheckComboBox 为他设置默认选中项 SelectedItems.Add() 会提示无法绑定的提示

Steps to reproduce the bug

HandyControl.Controls.CheckComboBox 控件

C# 代码(这段代码没有问题) 代码片段1:绑定数据,为了界面上展示。

                    var rs = AuthDb.db.Queryable<RoleBase>().Where(o => !o.IsAdmin).ToList();
                    checkComboBox.ItemsSource = rs;
                    checkComboBox.DisplayMemberPath = nameof(RoleBase.Name);
                    checkComboBox.SelectedValuePath = nameof(RoleBase.Id);

这段代码出现问题 代码片段1:还原上次选中的数据。

                    foreach (var item in userBase.RoleIds)
                    {
                        var aaa = rs.FirstOrDefault(o => o.Id == item);
                        if (aaa != null)
                            view.checkComboBox.SelectedItems.Add(aaa);//主要的问题就是这句话
                    }

出现问题: image image

Expected behavior

不应该出现错误

Screenshots

No response

NuGet package version

有问题版本 V 3.5.0 V 3.5.1 没有问题版本 V 3.4.0

IDE

VS 2022

Framework type

4.7.2

Windows version

Windows 10

Additional context

No response

NaBian commented 8 months ago

ItemsSource 和 SelectedItems 不要一起用,使用 ListBoxAttach 实现双向绑定功能。