• WPF GridViewColumn Sort DataTemplate


    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来排序
    https://muzizongheng.blog.csdn.net/
  • 相关阅读:
    Qt Q3DScatter中元素的移动和旋转
    Qt QtDataVisualization Q3DScatter绘制散点图
    Qt qwtplot3d根据时间采集多条曲线
    Qt QWT3D 之 三维动态曲线的实现
    Qt 数据可视化之3D图形
    Vagrant在虚拟机Centos7上安装Docker
    VirtualBox+Vagrant环境搭建
    VMware安装Centos7超详细过程(图文)
    上传excel表格批量导入数据到数据库
    IP协议包头分析
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3166604.html
Copyright © 2020-2023  润新知