我想为商店构建一个 WPF 后端应用程序。一个视图应该包含 2 个列表框。1 表示可以购买的项目,1 表示类别。
我想根据选择将项目变灰。现在更多细节:
到目前为止,我的视图模型有一个ObservableCollection<ShopItem>
,类ShopItem有一个price,title和一个list of Categories
我想绑定ShopItems到 1ListBox和 DistinctCategory到另一个 2ndListBox
因为 aShopItem可以有多个类别,所以我想将categories属于 Selected 的所有其他类别变灰ShopItem。所以我第一次的选择listbox应该控制我第二次的表现listbox。
另一方面,当我选择 a 时,category我想将ShopItems属于该 的所有其他都变灰category。所以再次listbox2也应该影响listbox1的外观。
“变灰”是指这些项目应该有另一种风格。
我看到了一些关于 MultiTrigger 的东西,它可以根据条件换出模板样式。我不确定我是否可以只绑定我的ObservableCollection<ShopItem>或者需要在这里有两个列表。我是否需要两个列表之间的一些发布/订阅。我想避免在每次选择更改时遍历视图模型中的所有元素,这里有什么想法吗?我现在正在摸索如何解决这个问题。任何建议都会很棒...