Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何对使用多绑定转换器的DataGridTextColumn进行排序_Wpf_Sorting_Data Binding_Datagrid - Fatal编程技术网

Wpf 如何对使用多绑定转换器的DataGridTextColumn进行排序

Wpf 如何对使用多绑定转换器的DataGridTextColumn进行排序,wpf,sorting,data-binding,datagrid,Wpf,Sorting,Data Binding,Datagrid,我使用带有值转换器的多重绑定来提供我的DataContext中项目集合的可视化显示。这里是XAML的一个片段 <DataGrid.Columns> <DataGridTextColumn x:Name="Column1" SortMemberPath="{Binding Path=SomeDataModelProperty}"> <DataGridTextColumn.Binding>

我使用带有值转换器的多重绑定来提供我的
DataContext
中项目集合的可视化显示。这里是XAML的一个片段

<DataGrid.Columns>
    <DataGridTextColumn x:Name="Column1"
                        SortMemberPath="{Binding Path=SomeDataModelProperty}">
    <DataGridTextColumn.Binding>
        <MultiBinding Converter="{StaticResource MyCustomConverter}">
            <Binding Path="SomeDataModelProperty" />
            <Binding RelativeSource="{RelativeSource Self}" Path="ActualWidth" />
            <!-- Other bindings -->
        </MultiBinding>
    </DataGridTextColumn.Binding>
</DataGridTextColumn>

用谷歌搜索这个问题会得到一个使用WPF数据网格的结果,而不是使用标准WPF数据网格的结果。有人知道向数据网格列提供排序的正确方法吗?

多亏了。最后它是相当简单的

<DataGridTextColumn x:Name="Column1"
                    SortMemberPath="SomeDataModelProperty">


i、 不要使用绑定,直接指定属性名。

这对我有点帮助。但是,我需要根据转换器呈现的值而不是数据中的固定路径进行排序(转换器根据第三个属性为我提供两个不同属性中的一个)。建议?看起来
SortMemberPath
只是一个字符串,网格控件本身会将其解析为一个列名,因此绑定不是前进的方向。我唯一能建议的是将网格控件绑定到预先排序的集合,例如通过
CollectionViewSource
或其他方式。
<DataGridTextColumn x:Name="Column1"
                    SortMemberPath="SomeDataModelProperty">