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

时间:2009-04-21 13:43:01

标签: wpf silverlight entity-framework data-binding many-to-many

我有一个具有多对多关系的实体模型。对于simiplicity,我们假设它是一个汽车实体和一个功能(cd播放器,天窗等)实体。

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

我知道这可以通过优秀的WinForms风格的旧事件处理程序轻松完成,但我想知道是否有人使用数据绑定方法这样做,这样我仍然可以保持我的演示文稿和逻辑分离< / p>

1 个答案:

答案 0 :(得分:1)

您是否看过MVVM演示模式?

我建议创建一个要绑定的ViewModel类。对于要绑定的复选框,此类可以包含HasSunroof等属性。在这些属性的set方法中,它们可以改变相关属性(如Sunroof属性)。

另一种方法是使用IValueConverter。绑定到实际属性(比如Sunroof)。在转换器中,如果Sunroof的值不等于null,则返回true(已选中),否则返回false。 ConvertBack()函数可以将IsChecked等于true的情况转换为属性所需的对象。