我有一个通过mvvm light绑定(bind)到WP7项目中的viewmodel的 View 数据。
该 View 包含具有以下设置的列表框:

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

StationList是一个ObservableCollection。

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

但是当我将XAML更改为:
<ListBox x:Name="StationList"
            ItemsSource="{Binding Source={StaticResource StationListSorted}}"
            SelectedItem="{Binding SelectedStation, Mode=TwoWay}"
            >

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

如何在没有自动选择我的第一项的情况下使用CollectionViewSource对ListBox进行排序?

最佳答案

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

07-26 09:39