8

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

<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 属性!

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

4

1 回答 1

19

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

于 2011-07-30T20:57:08.867 回答