2011-06-09 63 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列表將代替填充。

相關問題