WPF GridViewColumn Sort DataTemplate
2013-07-02 11:42
357 查看
wpf的GridViewColumn的排序要用到ICollectionView 的SortDescriptions.SortDescriptions数组里是 SortDescription, SortDescription有2个参数, 第一个为属性, 第二个为升序降序的选择。
难点主要是第一个, 什么为属性? 属性就是你单条记录所绑定的数据层, 然后在里面选择你想要通过数据层的哪个字段来排序。
示例:
[align=left] <DataTemplate x:Key="isVisibleShown">[/align][align=left] <TextBlock Visibility="{Binding Value.IsShowMe, Converter={StaticResource BooleanToVisibilityConverter}}">[/align][align=left] <TextBlock.Text>[/align][align=left] <PriorityBinding>[/align][align=left] <Binding Path="Value.Label" Converter="{StaticResource IsPropertyExistConverter}" IsAsync="True"/>[/align][align=left] <Binding Path="Key" Converter="{StaticResource DebugConverter}" IsAsync="True"/>[/align][align=left] </PriorityBinding>[/align][align=left] </TextBlock.Text> [/align][align=left] </TextBlock> [/align][align=left] </DataTemplate>[/align][align=left] <GridView x:Key="prGridView">[/align][align=left] <GridViewColumn HeaderTemplate="{StaticResource FieldCellTemplate}" CellTemplate="{StaticResource isVisibleShown}"/>[/align][align=left] </GridView>[/align][align=left]
[/align][align=left]这个prGridView中column应用了一个DataTemplate, 假如 GridView绑定一个字典Dictinory<string, Model>, 那每条就是一个KeyValuePair, DataTemplate里Text绑定了Model里面的Label, [/align][align=left]然后后台:[/align][align=left]
[/align][align=left] ICollectionView view = CollectionViewSource.GetDefaultView(lsvConfig.ItemsSource);[/align][align=left]
[/align][align=left] if (view.CanSort && view.SortDescriptions.Count <= 0)[/align][align=left] {[/align][align=left] view.SortDescriptions.Add(new SortDescription("Value.Label", ListSortDirection.Ascending));[/align][align=left] view.Refresh();[/align][align=left] }[/align][align=left]
[/align][align=left]指定按model里面的label来排序[/align]
相关文章推荐
- WPF GridViewColumn Sort DataTemplate
- WPF GridViewColumn Sort DataTemplate
- WPF:DataTemplateSelector设置控件不同的样式
- Merge Same Data Column in Gridview
- WPF中的数据模板(DataTemplate)(引用别人的文章 )
- WPF/Silverlight HierarchicalDataTemplate 模版的使用
- WPF中ControlTemplate和DataTemplate的区别
- .net c# 中获得GridView的EmptyDataTemplate中的控件的方法
- Windows 8实用窍门系列:20.Windows 8中的GridView使用(二)和DataTemplateSelector
- WPF:Data Template
- 得GridView的EmptyDataTemplate中的控件
- 异常-----freemarker.template.TemplateException: Expected collection or sequence. datas evaluated instead to freemarker.core.HashLiteral$SequenceHash on line 7, column 18 in inc/select.ftl.
- WPF Template模版之DataTemplate与ControlTemplate的关系和应用【二】
- WPF数据绑定(ItemTemplate和DataTemplate)
- WPF中DataTemplate基本原理与缺陷分析
- [WPF系列]-数据邦定之DataTemplate简介
- 如何获取GridView的EmptyDataTemplate中的控件
- WPF Trigger for IsSelected in a DataTemplate for ListBox items
- Repeater在无数据记录时显示类似GridView空模板(EmptyDataTemplate)
- [WPF系列]-数据邦定之DataTemplate 对 ItemsControl 进行样式和模板处理