在 WPF 中设置为复选框的绑定
使用实体框架(C#)我有一个 User
类,它具有 ONE:MANY
映射到 UserRight
类(简单地说,用户有一组权)。每个权限都由一个字符串标识。现在,由于可能的最大权限数量是有限的 (<10),我希望有 10 个复选框并手动编辑给定用户的权限子集。
有什么好的方法可以做到这一点?
詹姆斯
using Entity Framework (C#) I have a User
class which has ONE:MANY
mapping to the UserRight
class (simply, user has a set of rights). Each right is identified by a string. And now, because the maximum number of possible rights is finite (<10) I'd like to have 10 CheckBoxes
and edit the subset of rights for a given user manually.
What is the nice way to do it?
James
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建一个
RightViewModel
类来包含用户权限:为您的用户创建一个类似的类,其中包含
ObservableCollection
类型的成员Rights
。在 XAML 中,使用
ItemsControl
:和模板定义:
Mode=TwoWay
使绑定更新您的RightViewModel
实例。如果您需要使用不同的布局显示复选框,请定义
ItemsControl
的ItemsPanel
。最后将您的用户设置为容器的
DataContext
。Create a
RightViewModel
class to contain user rights:Create a similar class for your user, containing a member
Rights
of typeObservableCollection<RightViewModel>
.In you XAML, use an
ItemsControl
:And a template definition:
Mode=TwoWay
makes the binding update yourRightViewModel
instance.Define the
ItemsControl
'sItemsPanel
if you need to display your checkboxes with a different layout.Finally set your user as the
DataContext
of your container.