【问题标题】:Sorting Datagrid with DataGridTemplateColumn使用 DataGridTemplateColumn 对数据网格进行排序
【发布时间】:2014-12-21 21:33:42
【问题描述】:

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

<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”

【问题讨论】:

  • 你试过没有成员路径的排序吗?该字段是为您打算排序的属性名称保留的。因为它只是一个简单的字符串集合,所以你不会有。

标签: wpf sorting datagrid datagridtemplatecolumn


【解决方案1】:

只需设置SortMemberPath="."。这个用法和你把Binding的Path设置成"."类似,也就是整个item都会被绑定,此时整个item都会作为sorter的输入值。

【讨论】:

    猜你喜欢
    • 2013-08-11
    • 1970-01-01
    • 2012-04-19
    • 2023-02-06
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多