wpf的GridViewColumn的排序要用到ICollectionView   的SortDescriptions.

SortDescriptions数组里是 SortDescription, SortDescription有2个参数, 第一个为属性, 第二个为升序降序的选择。
难点主要是第一个, 什么为属性? 属性就是你单条记录所绑定的数据层, 然后在里面选择你想要通过数据层的哪个字段来排序。
示例:
  <DataTemplate x:Key="isVisibleShown">
            <TextBlock Visibility="{Binding Value.IsShowMe, Converter={StaticResource BooleanToVisibilityConverter}}">
                <TextBlock.Text>
                    <PriorityBinding>
                        <Binding Path="Value.Label" Converter="{StaticResource IsPropertyExistConverter}" IsAsync="True"/>
                        <Binding Path="Key" Converter="{StaticResource DebugConverter}" IsAsync="True"/>
                    </PriorityBinding>
                </TextBlock.Text>           
            </TextBlock>      
        </DataTemplate>
        <GridView x:Key="prGridView">
            <GridViewColumn HeaderTemplate="{StaticResource FieldCellTemplate}" CellTemplate="{StaticResource isVisibleShown}"/>
        </GridView>
这个prGridView中column应用了一个DataTemplate, 假如 GridView绑定一个字典Dictinory<string, Model>, 那每条就是一个KeyValuePair, DataTemplate里Text绑定了Model里面的Label, 
然后后台:
            ICollectionView view = CollectionViewSource.GetDefaultView(lsvConfig.ItemsSource);
            if (view.CanSort && view.SortDescriptions.Count <= 0)
            {
                view.SortDescriptions.Add(new SortDescription("Value.Label", ListSortDirection.Ascending));
                view.Refresh();
            }
指定按model里面的label来排序

WPF GridViewColumn Sort DataTemplate的更多相关文章

  1. WPF 动态创建 DataTemplate 及数据绑定

    WPF 动态创建 DataTemplate 及数据绑定 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-22 参考: star ...

  2. WPF 获取 ListView DataTemplate 中控件值

    原文:WPF 获取 ListView DataTemplate 中控件值 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei19 ...

  3. WPF 中的DataTemplate 的嵌套

    <Window x:Class="WPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xa ...

  4. WPF : ControlTemplate和DataTemplate的区别

    ControlTemplate用于描述控件本身. 使用TemplateBinding来绑定控件自身的属性, 比如{TemplateBinding Background}DataTemplate用于描述 ...

  5. WPF中的DataTemplate

    <Window x:Class="DateTemplate应用.MainWindow" xmlns="http://schemas.microsoft.com/wi ...

  6. WPF ListBox的DataTemplate例子

    <ListBox Name="lbLogInfo"> <ListBox.ItemTemplate> <DataTemplate> <Gri ...

  7. WPF 后台重写 DataTemplate

    /// <summary> /// 配置类 /// </summary> public static class GridControlDeploy { /// <sum ...

  8. WPF后台生成datatemplate(TreeViewItem例子)

    public void loadCheckListDataTemplate(TreeViewItem tvi) { DataTemplate cdt = new DataTemplate(); Fra ...

  9. wpf 中的DataTemplate 绑定控件

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

随机推荐

  1. 49 个jquery代码经典片段

    49 个jquery代码经典片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一 些则是真正有用的函数或方法,他们能够帮助你又快又 ...

  2. warning: mysql-community-libs-5.7.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5

    1.错误描写叙述 [root@ mysql]# rpm -ivh mysql-community-libs-5.7.11-1.el7.x86_64.rpm warning: mysql-communi ...

  3. Uboot的串口下载文件命令:loads / loadb / loady

    1. loads loads [ off ] 通过串口,下载S-Rec文件到off位置 loads命令可以通过串口线下载S-Record格式文件. 2. loadb loadb [ off ] [ b ...

  4. C++第4次实验(提高班)—继承和派生1

    从项目2和项目3中选1题作为实验.剩下2题写成作业. [项目1 - 龙三] 请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为: Name: 龙三 Grade: 19 #include ...

  5. kvm&vnc 简单安装shell脚本

    #!/bin/bash # created on 2014/7/15 #author : derrick.jiang (Email: derrick.jiang.maichuang.net) echo ...

  6. mongo的碎片整理

    由于业务原因,需要将过期数据删除,但有一个问题出现了,频繁删除数据之后,会产生很多磁盘碎片,这些碎片如果没有被重复利用, 进而会影响查询性能(表查询时仍然会扫描这部分删除数据的磁盘空间块),随需要处理 ...

  7. PowerBuilder -- 变更某列的背景色

    记得把background.mode设置为2 li_col++ ls_col[li_col] = ls_fit_no ls_column = ' col' + String(li_col) ls_co ...

  8. 14、AppWidget及Launcher RemoteViews

    一.Launcher的简单研究 1 什么是Launcher Android系统启动后加载的第一个程序 . 这个程序是其他应用程序的入口 . Launcher构成: HomeScreen : (Work ...

  9. php计算数组的维数

    function array_dim($arr){ if(!is_array($arr)) return 0; else{ $max1 = 0; foreach($arr as $item1){ $t ...

  10. php函数: set_include_path

    <?php $p =get_include_path(); $p.=PATH_SEPARATOR.'./bp/'; $p.=PATH_SEPARATOR.'./CLI/'; $p.=PATH_S ...