2011-06-09 62 views
1

一个列表框使用自带的MVVM光我一个ListBox的的SelectedItem绑定到一个ViewModel上绑定到RelayCommand一个ViewModel

所有一RelayCommand的EventToCommand行为重置的SelectedItem在我的Windows Phone 7的伟大工程除了使用ListBox导航离开View之后,返回SelectedItem与之前一样。不是我想要的。

我尝试重置所选索引时导航离开,但导致命令再次触发。

有没有其他人解决了这个问题,以及如何?

TIA

帕特里克朗

回答

0

我离开使用SelectionChanged事件。现在我用TapGestures做到这一切。这一点的缺点是,TapGesture不能用于EventToCommand行为,所以我在视图中捕捉手势事件并触发绑定到发件人的DataContext的命令。

恕我直言,这比使用SelctionChanged和用SelectedIndexes撒谎要好很多。

0

由于您使用的MVVM光可以不打电话给在ViewModelLocator针对特定视图模型的明确方法?

1

我在每个处理程序的开始处通过一个简单的检查来处理这个问题。假设你只支持单项选择,你可以检查是否有添加项目。

if (e.AddedItems.Count == 1) 
{ 
    // Your code here 
} 

(其中eSelectionChangedEventArgs一个实例。)

如果选择已被删除AddedItems列表将是空的,但RemovedItems列表将代替填充。

相关问题