c#MVVM Listbox在TabChange之后记住选定的项目

时间:2014-09-18 12:46:01

标签: c# wpf listview mvvm listbox

我搜索了几天但未找到任何解决方案以解决以下问题: 我的父母是一个TabControl。

在一个标签页面中,我有一个带有列表框或列表视图的视图模型,其中包含大量项目。 当我在列表末尾选择一个项目,然后选择另一个选项卡返回列表时,项目被选中但我看不到它,因为它在可见区域之外。

我可以做些什么来修复可见区域?所以当我回到我的列表时,列表框的可见区域与我离开的区域相同。

抱歉英语不好:)

1 个答案:

答案 0 :(得分:0)

当选定的选项卡发生更改时,将清除选项卡项目的可视树(XAML),这是设计的,这意味着View中不会记住ListBox \ ListView中所选项目等内容。

您有几个选择:

实现一个选项卡控件,记住每个选项卡的可视状态\树 - 有很多关于如何执行此操作的博客文章,

您可以记住ViewModel中的所选项目,当您返回选项卡时它会反弹,它应该将所选项目滚动回视图。为此,您必须根据您为控件选择的选择模式绑定SelectedItem \ SelectedItems属性。