【发布时间】:2012-03-13 09:45:07
【问题描述】:
我正在使用 WPF 和 MVVM。 在我的应用程序中,最好从主屏幕中选择一个项目,然后按一个按钮查看详细信息。应该打开一个新窗口,并且可以在列表视图中进行(多个)选择,其中 IsSelected 绑定到 ObservebleCollection 中的项目。
当用户再次按下该按钮(主屏幕上的相同选择)时,会打开另一个具有相同详细信息的窗口。但是,我假设如果做出不同的选择,第一个窗口会同步并显示相同的选择。
我希望这两个窗口可以有不同的选择。这可能吗?应该怎么做才能让它发挥作用?
更新: 示例:假设我有一辆有 4 个轮子的汽车(收藏)。两个窗口中的列表视图都显示了 4 个轮子(一项是一个轮子)。当我在列表视图中选择轮 1 和 2 时,我认为在另一个窗口中也会选择轮 1 和 2。但我想在窗口 2 中选择 3 和 4,在窗口 1 中选择轮 1 和 2)。而且我不想添加另一个 4 个轮子的集合,否则我会有一辆有 8 个轮子的汽车……或者 2 辆有 4 个轮子的汽车,但如果我更换轮子 3 和 4,它只会改变第二辆车。
更新 2: 顺便说一句,在我的应用程序中:
- 我有 0 到 n 个带有列表视图的窗口。
- 我创建了一个包含视图模型的窗口。
- 每个视图模型都引用“真实”模型。
所选项目的绑定变量在真实模型中,我想我需要将它移动到视图模型,但我不知道如何。因为(示例中的轮子的)属性位于“真实”模型中,并且这些属性也绑定在同一个列表视图(项目)中。 我c
【问题讨论】:
标签: c# wpf listview mvvm window