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