如何对使用MultiBinding Converter的DataGridTextColumn进行排序

时间:2013-04-26 13:56:07

标签: wpf sorting data-binding datagrid

我使用带有值转换器的多重绑定来提供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>

SortMemberPath上的绑定是我可以按DataContext中的属性排序的。但是,我在输出窗口上出现错误

Cannot find governing FrameworkElement or FrameworkContentElement for target element.

使用DXGrid by DevExpress搜索此问题会产生结果,但不会使用标准WPF数据网格。有没有人知道为数据网格列提供排序的正确方法?

1 个答案:

答案 0 :(得分:8)

我想通了,感谢this article。最后它很简单;

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

即。不要使用绑定,只需直接指定属性名称。