代码之家  ›  专栏  ›  技术社区  ›  Jacob Adams

Silverlight/WPF多对多复选框绑定列表

  •  1
  • Jacob Adams  · 技术社区  · 15 年前

    我有一个具有多对多关系的实体模型。对于相似性,我们假设它是一个汽车实体和一个功能(CD播放器、月球顶等)实体。

    我有一个Silverlight/WPF表单,您可以在其中编辑汽车实体。我想让可能的功能列表(功能表中的所有内容)是一个复选框列表。那部分很容易。但是,我试图想出一种优雅的方法来绑定复选框,这样当我选中其中一个复选框时,它会添加/删除该功能与汽车之间的关联。

    我知道这可以很容易地用旧的WinForms样式的事件处理程序来完成,但是我想知道是否有人可以使用数据绑定来完成这项工作,这样我仍然可以将演示文稿和逻辑分开。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Josh G    15 年前

    你看过吗 MVVM 演示模式?

    我建议创建一个要绑定到的ViewModel类。此类可以包含以下属性 HasSunroof 用于绑定到的复选框。在这些属性的集合方法中,它们可以更改相关属性(如 Sunroof 财产)。

    另一种选择是使用 IValueConverter . 绑定到实际属性(例如 天窗 )在转换器中,如果 天窗 不等于空,否则返回false。这个 ConvertBack ()函数可以将IsChecked等于true的情况转换为属性所需的对象。