Windows phone 7 选择EdItem set to first item with CollectionViewSource

Windows phone 7 选择EdItem set to first item with CollectionViewSource,windows-phone-7,listbox,collectionviewsource,Windows Phone 7,Listbox,Collectionviewsource,在我的WP7项目中,我有一个通过mvvm light绑定到viewmodel的视图数据。 该视图包含具有以下设置的列表框: <ListBox x:Name="StationList" ItemsSource="{Binding StationList}" SelectedItem="{Binding SelectedStation, Mode=TwoWay}" > 统计表是一个可观察的集合 现在,当视图加载时,一切看起来都很棒!将显示列表,但未选择任何项

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

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

统计表是一个可观察的集合

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

但当我将XAML更改为:

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

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


如果没有CollectionViewSource自动选择我的第一项,如何对具有CollectionViewSource的列表框进行排序?

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

但是为什么?!为什么这是答案?我不知道这是否是正确的答案,但似乎在创建默认CollectionView时没有选择当前项,但在应用排序后,选择了当前项。通过告诉数据绑定控件no不与当前项同步,它们不会自动更新为CollectionView的当前项值。这是一个名称不正确的属性。这实际上意味着是否允许collectionview设置所选项目/索引等。否则,选择将仅由控件或绑定源更改。