SelectedItem设置为CollectionViewSource的第一个项目

Dep*_*hie 6 listbox collectionviewsource windows-phone-7

我有一个视图数据绑定通过mvvm光到我的WP7项目中的视图模型.该视图包含一个包含以下设置的列表框:

<ListBox x:Name="StationList"
    ItemsSource="{Binding StationList}"
    SelectedItem="{Binding SelectedStation, Mode=TwoWay}"
    >
Run Code Online (Sandbox Code Playgroud)

StationList是一个ObservableCollection.

现在当视图加载时,一切看起来都很棒!显示列表,未选择任何项目!

但是,当我将XAML更改为:

<ListBox x:Name="StationList"
            ItemsSource="{Binding Source={StaticResource StationListSorted}}"
            SelectedItem="{Binding SelectedStation, Mode=TwoWay}"
            >
Run Code Online (Sandbox Code Playgroud)

使用StationListSorted作为CollectionViewSource在StationList上进行简单的一个属性排序.现在事情变得丑陋!相同的视图在列表框中加载了相同的项目,但现在正确排序,但是选择了第一个项目并设置了selectedItem属性!

如何使用CollectionViewSource对ListBox进行排序而不自动选择我的第一个项目?

sel*_*dog 15

在列表框中,尝试设置IsSynchronizedWithCurrentItem并查看哪个值(true或false)产生所需的效果.

  • 把它设置为False就可以了!谢谢你的提示! (2认同)
  • 但为什么?!为什么这是答案? (2认同)
  • 这是一个名字不好的财产。它实际上意味着是否允许collectionview设置所选项目/索引/等。否则,选择将仅由控件或绑定源更改。 (2认同)