数据访问与WPF用户界面开发详解
1. 角色相关操作
RoleList对象提供了一个只读的、缓存的角色列表,这个列表表示资源分配到项目时可以拥有的角色。不过,这个角色列表需要维护,这正是Roles集合存在的目的。Roles是一个可编辑的根集合,其中包含了一系列可编辑的子Role对象。
1.1 工厂方法
在工厂方法区域,实现了 GetRoles() 工厂方法,它和其他工厂方法一样,调用数据门户。同时,还实现了一个非公共构造函数,以确保必须使用工厂方法来创建对象。构造函数中的代码很关键:
private Roles()
{
this.Saved += Roles_Saved;
this.AllowNew = true;
}
AllowNew 是 BusinessListBase 基类 BindingList 定义的受保护属性。将其设置为 true 后,WPF和Windows Forms的数据绑定就可以自动向集合中添加新的子对象。通常,当集合绑定到UI中的可编辑网格控件时,就会发生这种情况。控制可编辑集合行为的属性如下表所示:
| 属性 | 描述 |
| — | — |
| AllowNew | 如果为 true ,数据绑定可以自动向集合中添加新的子对象。这需要同时重写 AddNewCore() 方法,默认值为
超级会员免费看
订阅专栏 解锁全文
79

被折叠的 条评论
为什么被折叠?



