WPF GridViewColumn Sort DataTemplate

<?xml version="1.0" encoding="UTF-8"?> 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://www.cnblogs.com/muzizongheng/p/3166604.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值