我使用带有值转换器的多重绑定来提供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数据网格。有没有人知道为数据网格列提供排序的正确方法?
答案 0 :(得分:8)
我想通了,感谢this article。最后它很简单;
<DataGridTextColumn x:Name="Column1"
SortMemberPath="SomeDataModelProperty">
即。不要使用绑定,只需直接指定属性名称。