使用MVVM Light附带的EventToCommand行为我将ListBox的SelectedItem绑定到ViewModel上的RelayCommand
所有功能在我的Windows Phone 7应用程序中运行良好,只是在使用ListBox导航离开View之后,返回SelectedItem与之前相同。不是我想要的。
我尝试在导航时重置所选索引,但这会导致命令再次触发。
还有其他人解决过这个问题吗?
TIA
Patrick Long
答案 0 :(得分:1)
我通过在每个处理程序的开头进行简单检查来处理这个问题。假设您只支持单项选择,您可以检查是否有添加的项目。
if (e.AddedItems.Count == 1)
{
// Your code here
}
(其中e
是SelectionChangedEventArgs
的实例。)
如果删除了选择,则AddedItems
列表将为空,但会填充RemovedItems
列表。
答案 1 :(得分:0)
既然你正在使用mvvm light,你不能在ViewModelLocator中调用特定视图模型的clear方法吗?
答案 2 :(得分:0)
我转而使用SelectionChanged事件。现在我用TapGestures做到这一切。这样做的缺点是TapGesture不能与EventToCommand行为一起使用,所以我在View中捕获Gesture事件并触发绑定到Sender的DataContext的Command。
恕我直言,这比使用SelctionChanged和使用SelectedIndexes更糟糕。