我有一个视图数据绑定通过mvvm light到我的WP7项目中的viewmodel。 该视图包含一个包含以下设置的列表框:
<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作为CollectionViewSource在StationList上进行简单的一个属性排序。 现在事情变得丑陋! 相同的视图在列表框中加载了相同的项目,但现在已正确排序,但是选择了第一个项目并设置了selectedItem属性!!
如何使用CollectionViewSource对ListBox进行排序而不自动选择我的第一个项目?
答案 0 :(得分:15)
在列表框中,尝试设置IsSynchronizedWithCurrentItem
并查看哪个值(true或false)产生所需的效果。