正确更改ItemsSource属性(Windows Phone - MVVM)

时间:2013-10-14 05:33:25

标签: windows-phone-7 mvvm windows-phone-8 windows-phone mvvm-light

我正在构建一个Windows Phone 8应用程序(使用MVVM Light),其中我有一个listSicker,其ItemsSource(单向)& SelectedItem(双向)都绑定到单个ViewModel上的属性。现在,我的问题是:将ItemsSource更新为完全不同的项目(可能不会与旧项目重叠)的推荐方法是什么?

由于SelectedItem无效,因此只是替换它或其内容不起作用。显然,如果我先设置SelectedItem,我会收到一个错误,因为该项尚未在源集合中。我已经看到了一些混乱或过于冗长的变通方法,但我认为必须已经存在一个更简单的解决方案,因为这似乎是一种非常常见的模式。

1 个答案:

答案 0 :(得分:0)

在清除SelectedItem之前将ObservableCollection<T>设置为null,然后重新添加项目。

确保SelectedItem属性的类型为nullable