2011-07-30 45 views
6

我有一個視圖的數據綁定,通過mvvm燈到我的WP7項目中的視圖模型。 該視圖包含與以下設置一個列表框:SelectedItem設置爲CollectionViewSource的第一個項目

<ListBox x:Name="StationList" 
    ItemsSource="{Binding StationList}" 
    SelectedItem="{Binding SelectedStation, Mode=TwoWay}" 
    > 

的StationList是一個的ObservableCollection。

現在當視圖加載時,一切看起來都很棒!列表顯示,沒有項目被選中!

但是,當我改變XAML到:

<ListBox x:Name="StationList" 
      ItemsSource="{Binding Source={StaticResource StationListSorted}}" 
      SelectedItem="{Binding SelectedStation, Mode=TwoWay}" 
      > 

隨着StationListSorted正對StationList作爲CollectionViewSource一個簡單的特性分類。 現在事情變得醜陋! 相同的視圖加載列表框中的相同項目,但現在正確排序,但第一個項目被選中,並且selectedItem屬性被設置!

如何排序一個ListBox與CollectionViewSource沒有它自動選擇我的第一個項目?

回答

15

在您的列表框上,嘗試設置IsSynchronizedWithCurrentItem並查看哪個值(true或false)會產生所需的效果。

+2

將它設置爲False訣竅!謝謝你的提示! – Depechie

+1

但是爲什麼?爲什麼這是答案? –

+0

我不知道這是否是正確的答案,但似乎默認的CollectionView是在沒有選擇當前項目的情況下創建的,但是在應用排序之後,選擇了當前項目。通過告訴數據綁定控件沒有不同步到當前項目,它們不會自動用CollectionView的當前項目值更新。 – sellmeadog

相關問題