SelectedItemsDevEx的属性ListBoxControl是只读的,因此您无法将您的集合绑定到它。所以,简短的回答是不,在这种情况下你仍然不能使用数据绑定。您仍然可以对您的所有产品列表进行数据绑定以填充ListBoxControl,但是因为您使用的是多项选择,并且因为您无法对所选项目进行数据绑定,所以我建议您反对它。
相反,对于这个列表框,我会完全不进行数据绑定。例如填充您的控件:
// populate the listbox with a list of all Products
// allProducts is an IEnumerable<Product> where Product has a Description property
listBoxControl1.Items.AddRange(allProducts.Select(x => x.Description).ToArray());
然后,要在您的客户类中找到您的选择:
// "client" is type Client which contains a collection of selected Products
foreach (var product in client.Products)
{
var idx = listBoxControl1.FindStringExact(product.Description);
listBoxControl1.SetSelected(idx, true);
}
然后,当需要保存时,清除 Client 对象中的 Products 集合,然后使用该ListBoxControl.SelectedItems属性重新填充它。