我想知道是否还有与任何高级控件,GridView,ListView,Form View ...进行交互的方式,您可以显示项目列表并在每个项目旁边有一个复选框,但没有在数据源中的复选框后面有一个布尔属性?
更多关于你怎么读它?这意味着如果有一些项目的复选框被选中,并且您保存了一个列表,那么在编辑选择时,您将如何在控件中填充它(意味着绑定所有项目,创建网格,无论它是什么......并且仅“检查”所选的项目?
/ *编辑* /
这表示以下情形:您在说事件和参与者之间存在一种与经济有关的关系。创建“参与者”记录时,您希望将它们注册为可用的事件数量......您希望显示所有事件,但能够一次选择其中一些事件。
/ * END EDIT * /
谢谢, 马丁
答案 0 :(得分:2)
我假设您的DataSource是一个模型(DTO或其他方式将数据从服务器传输到客户端)。如果是这样,您可以将模型包装在另一个具有IsSelected属性的对象中。然后,您可以绑定到扩展属性列表。我听说这被描述为面向方面编程。当您从服务加载数据时,循环并创建扩展程序,根据您的条件设置IsSelected并传入模型。然后将复选框绑定到IsSelected属性。
示例:
public class ModelExtender<T>
{
public T Model;
private bool isSelected = false;
public bool IsSelected
{
get { return this.isSelected; }
set
{
this.isSelected = value;
this.RaisePropertyChanged("IsSelected");
}
}
public ModelExtender(T model)
{
this.Model = model;
}