wpf - 使用 DataGridTemplateColumn 对数据网格进行排序

标签 wpf sorting datagrid datagridtemplatecolumn

我正在使用 DataGrid,并且 ItemSource 绑定(bind)到字符串列表。 问题是排序不起作用。 标题已启用并且可以单击,但数据未排序。

<DataGrid ItemsSource="{Binding CollectionNames}" SelectedItem="{Binding CurrentName}" SelectionUnit="FullRow" CanUserAddRows="False" AutoGenerateColumns="False" SelectionMode="Single" >
                <DataGrid.Columns>
                    <DataGridTemplateColumn Width="400" CanUserSort="True"  SortMemberPath="Name">
                        <DataGridTemplateColumn.HeaderTemplate>
                            <DataTemplate>
                                <TextBlock Text="Name" Foreground="#FF40A4E0" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                            </DataTemplate>
                        </DataGridTemplateColumn.HeaderTemplate>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <ContentControl>
                                    <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding}"/>
                                </ContentControl>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
                <DataGrid.CellStyle>
                    <Style TargetType="DataGridCell">
                        <Setter Property="BorderThickness" Value="0"/>
                    </Style>
                </DataGrid.CellStyle>
            </DataGrid>

我认为问题是SortMemberPath="Name",但我不知道该用什么来代替“Name”

最佳答案

您只需设置SortMemberPath="."即可。当您将 Bi​​nding 的 Path 设置为 "." 时,此用法类似,这意味着整个项目将被绑定(bind),在这种情况下,整个项目将用作输入排序器的值。

关于wpf - 使用 DataGridTemplateColumn 对数据网格进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575140/

相关文章:

wpf - 确保按钮在 ScrollViewer 中获得焦点

javascript - 如何使用 Ember 突出显示当前选定的列?

php - 在 PHP/MySQL 中对符合特定条件的行进行排序

C++并行排序

asp.net-mvc - ASP.NET MVC2 项目使用哪个数据网格?

wpf - 调用 caspol.exe

.net - 如何将 WPF 工具包图表的项目源动态数据绑定(bind)到公共(public)属性?

c# - IMul​​tiValueConverter - INotifyPropertyChanged

wpf - WPF 中 DataGridColumn 的绑定(bind)可见性

wpf - 获取到 DependencyProperty 的所有绑定(bind)