ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
wpf的GridViewColumn的排序要用到ICollectionView  的SortDescriptions. SortDescriptions数组里是 SortDescription, SortDescription有2个参数, 第一个为属性, 第二个为升序降序的选择。 难点主要是第一个, 什么为属性? 属性就是你单条记录所绑定的数据层, 然后在里面选择你想要通过数据层的哪个字段来排序。 示例:  <DataTemplatex:Key="isVisibleShown">           <TextBlockVisibility="{BindingValue.IsShowMe,Converter={StaticResourceBooleanToVisibilityConverter}}">               <TextBlock.Text>                   <PriorityBinding>                       <BindingPath="Value.Label"Converter="{StaticResourceIsPropertyExistConverter}"IsAsync="True"/>                       <BindingPath="Key"Converter="{StaticResourceDebugConverter}"IsAsync="True"/>                   </PriorityBinding>               </TextBlock.Text>                      </TextBlock>             </DataTemplate>       <GridViewx:Key="prGridView">           <GridViewColumnHeaderTemplate="{StaticResourceFieldCellTemplate}"CellTemplate="{StaticResourceisVisibleShown}"/>       </GridView> 这个prGridView中column应用了一个DataTemplate, 假如 GridView绑定一个字典Dictinory<string, Model>, 那每条就是一个KeyValuePair, DataTemplate里Text绑定了Model里面的Label,  然后后台:           ICollectionViewview=CollectionViewSource.GetDefaultView(lsvConfig.ItemsSource);           if(view.CanSort&&view.SortDescriptions.Count<= 0)            {               view.SortDescriptions.Add(newSortDescription("Value.Label",ListSortDirection.Ascending));               view.Refresh();            } 指定按model里面的label来排序