gpt4 book ai didi

WPF M-V-VM : Get selected items from a ListCollectionView?

转载 作者:行者123 更新时间:2023-12-03 14:46:17 29 4
gpt4 key购买 nike

我有一个使用 Model-View-ViewModel 模式的 WPF 应用程序。
在我的 ViewModel 中,我有一个 ListCollectionView 来保存项目列表。
此 ListCollectionView 绑定(bind)到我的 View 中的 ListBox。

<ListBox Grid.Row="1" ItemsSource="{Binding Useragents}" SelectionMode="Multiple"/>

ListBox 具有 SelectionMode=Multiple,因此您可以一次选择多个项目。现在 ViewModel 需要知道哪些项目已被选中。

问题是:在 View-Model-ViewModel 模式中,ViewModel 无法访问 View,所以我不能只询问 ListBox 哪些项目已被选中。我所拥有的只是 ListCollectionView,但我无法找到一种方法来查找其中已选择哪些项目。

那么如何找到 ListBox 中选择了哪些项目呢?或者实现这一点的技巧(也许将某些东西绑定(bind)到我的项目中的 bool “IsSelected”?但是什么?如何?)

也许使用这种模式的人也可以在这里帮助我?

最佳答案

您需要创建一个具有 IsSelected 概念的 ViewModel,并绑定(bind)到使用标准 WPF 绑定(bind)架构在 View 中表示它的实际 ListBoxItem 的 IsSelected 属性。

然后在您的代码中,它知道您的 ViewModel,但不知道它由任何特定 View 表示的事实,可以只使用该属性来找出模型中的哪些项目实际上是被选择的,而不管设计师选择它在看法。

关于WPF M-V-VM : Get selected items from a ListCollectionView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451748/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com