windows-phone-7 - SelectedItem 使用 CollectionViewSource 设置为第一个项目

标签 windows-phone-7 listbox collectionviewsource

我有一个 View 数据通过 mvvm light 绑定(bind)到我的 WP7 项目中的 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并查看哪个值(真或假)产生所需的效果。

关于windows-phone-7 - SelectedItem 使用 CollectionViewSource 设置为第一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6885837/

相关文章:

c# - 如何从 CollectionViewSource 获取项目数?

wpf - 带有转换器的 SortDescription

javascript - if iemobile 的问题

c# - Silverlight 与 XNA 对比纯 HTML5

c# - DrawItemEventArgs 的 "Index"属性有时会变为负数

c# - 检查绑定(bind)到 MVVM 应用程序中的 ObservableCollection 的列表框中的选定项

wpf - MVVM Linq2Sql 和 DataContext

c# - 墓碑工作正常,但我的应用程序需要它吗?

grails - Grails-多个下拉框值

c# - 如何将 CollectionViewSource 传递给转换器?