我有一个Model,其中一个属性是 Order ,是一种int类型。该模型放在 ObservableCollection 中,例如 ModelList 绑定到列表框。
使用此代码
<CollectionViewSource Source="{StaticResource ModelList}" x:Key="SortedItems">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Order"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
然后此列表使用
绑定到列表框<ListView ItemsSource="{Binding Source={StaticResource SortedItems}}" />
工作罚款。但我想通过Order属性更改列表的顺序,也就是当我通过代码更改Order时,我希望列表框能够反映更改。
我怎样才能做到这一点。
答案 0 :(得分:0)
要使用CollectionViewSource,您需要更新SortDescriptions property
要从代码访问CollectionViewSource,请在viewmodel中声明它并绑定到它(而不是在XAML中声明它)。对于可视化树中的项目,您可以使用x:Name,但这似乎不适用于Resources标记,至少通过初始测试