Ebe*_*eer 38 sorting wpf xaml listbox mvvm
我需要在a中对字符串进行排序ListBox
,但它通过另一个组件绑定到视图模型DataContext
.所以我不能直接在XAML中实例化视图模型,就像在这个例子中一样,它使用了ObjectDataProvider
.
在我的XAML中:
<ListBox ItemsSource="{Binding CollectionOfStrings}" />
Run Code Online (Sandbox Code Playgroud)
在我的视图模型中:
public ObservableCollection<string> CollectionOfStrings
{
get { return collectionOfStrings; }
}
Run Code Online (Sandbox Code Playgroud)
在另一个组件中:
view.DataContext = new ViewModel();
Run Code Online (Sandbox Code Playgroud)
没有代码背后!所以使用纯XAML,我如何对ListBox中的项进行排序?同样,XAML不拥有视图模型的实例化.
Ken*_*art 84
<CollectionViewSource x:Key="SortedItems" Source="{Binding CollectionOfStrings}"
xmlns:scm="clr-namespace:System.ComponentModel;assembly=Win??dowsBase">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="SomePropertyOnYourItems"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ListBox ItemsSource="{Binding Source={StaticResource SortedItems}}"/>
Run Code Online (Sandbox Code Playgroud)
您可能希望将字符串包装在自定义VM类中,以便更轻松地应用排序行为.
归档时间: |
|
查看次数: |
28821 次 |
最近记录: |