使用 CollectionViewSource 将 SelectedItem 设置为第一项

发布于 2024-11-27 01:10:17 字数 778 浏览 1 评论 0原文

我有一个视图数据通过 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 进行排序而不自动选择我的第一个项目?

I have a view databound through mvvm light to a viewmodel in my WP7 project.
The view contains a Listbox with following settings:

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

The StationList is a ObservableCollection.

Now when the view gets loaded, everything looks great! The list is shown and NO item is selected!

But when I change the XAML to:

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

With the StationListSorted being a simple one property sort on the StationList as a CollectionViewSource.
Now things turn ugly!!
The same view is loaded with the same items in the listbox, but now correctly sorted, BUT the first item is selected and the selectedItem property is set!!

How can I sort a ListBox with a CollectionViewSource WITHOUT it auto selecting my first item?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聊慰 2024-12-04 01:10:17

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

On your listbox, try setting IsSynchronizedWithCurrentItem and see which value (either true or false) produces the desired effect.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文