我正在构建一个Windows Phone 8应用程序(使用MVVM Light),其中我有一个listSicker,其ItemsSource(单向)& SelectedItem(双向)都绑定到单个ViewModel上的属性。现在,我的问题是:将ItemsSource更新为完全不同的项目(可能不会与旧项目重叠)的推荐方法是什么?
由于SelectedItem无效,因此只是替换它或其内容不起作用。显然,如果我先设置SelectedItem,我会收到一个错误,因为该项尚未在源集合中。我已经看到了一些混乱或过于冗长的变通方法,但我认为必须已经存在一个更简单的解决方案,因为这似乎是一种非常常见的模式。
答案 0 :(得分:0)
在清除SelectedItem
之前将ObservableCollection<T>
设置为null,然后重新添加项目。
确保SelectedItem
属性的类型为nullable
。