我有一个具有多对多关系的实体模型。对于simiplicity,我们假设它是一个汽车实体和一个功能(cd播放器,天窗等)实体。
我有一个Silverlight / WPF表单,您可以在其中编辑汽车实体。我希望可能的功能列表(功能表中的所有内容)都是一个复选框列表。那部分很容易。但是,我试图想出一种优雅的方式来绑定复选框,这样当我检查时,取消选中其中一个,它会添加/删除该功能与汽车之间的关联。
我知道这可以通过优秀的WinForms风格的旧事件处理程序轻松完成,但我想知道是否有人使用数据绑定方法这样做,这样我仍然可以保持我的演示文稿和逻辑分离< / p>
答案 0 :(得分:1)
您是否看过MVVM演示模式?
我建议创建一个要绑定的ViewModel类。对于要绑定的复选框,此类可以包含HasSunroof
等属性。在这些属性的set方法中,它们可以改变相关属性(如Sunroof
属性)。
另一种方法是使用IValueConverter
。绑定到实际属性(比如Sunroof
)。在转换器中,如果Sunroof
的值不等于null,则返回true(已选中),否则返回false。 ConvertBack
()函数可以将IsChecked等于true的情况转换为属性所需的对象。