我目前正在开发一个使用 MVVM 的应用程序,该应用程序需要在组合框中显示一些数据。这些绑定(bind)到 ObservableCollections。数据存储在数据表中。
我有许多对象,例如名称和位置。每个组合框包含名称或位置。名字列表旁边有一个数字,显示有多少人被称为该名字。位置确实相似。现在,当用户单击某个名称时,位置框中的数字会发生变化,以显示该名称居住在该位置的人数。 name 和 location 对象是完全独立的,彼此之间一无所知。如果用户随后单击某个位置,则会更新名称组合框。原始数据包含在具有名称和位置列的数据表中。 (最终工程中大概会有7个comboboxes,dattable会相应增加)。是否只是再次查询数据表并将组合框中的对象清除并替换为新数据的情况?
抱歉,冗长的消息。
请您参考如下方法:
如果列表完全更改,ObservableCollection对你帮助不大。您可能会发现让组合框具有 ItemsSource 更容易到返回 IEnumerable<T> 的 ViewModel 的属性并调用PropertyChanged当一个特定的项目框被选中时(SelectedItem 被设置)。
