我試圖對數值內容進行列排序。多重綁定轉換器正常工作。 此解決方案將設置SortMemberPath爲空DataGridColumn MultiBinding上的SortMemberPath
我已經嘗試了各種方法,並大量搜索互聯網。
爲安全起見,代碼已從原始版本修改。
<DataGridTemplateColumn x:Name="avgPriceColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource avgPriceConverter}">
<Binding Path="NumberToDivideBy" />
<Binding Path="TotalDollars" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.SortMemberPath>
<MultiBinding Converter="{StaticResource avgPriceConverter}">
<Binding Path="NumberToDivideBy" />
<Binding Path="TotalDollars" />
</MultiBinding>
</DataGridTemplateColumn.SortMemberPath>
</DataGridTemplateColumn>
編輯: 我找到一種方式來獲得數據綁定不multibinding工作,但排序仍然無法正常工作。由於DataGrid綁定到一個自定義類,因此我接受了整個值並將其轉換,從而減少了對MultiBinding的需求。
<DataGridTextColumn x:Name="avgPriceColumn" Binding="{Binding Converter={StaticResource avgPriceConverter}}" SortMemberPath="{Binding Converter={StaticResource avgPriceConverter}}" />
在這兩個這些選項SortMemberPath是默認設置爲綁定,所以我並不需要明確地定義它,因爲我有
然而這最終設置SortMemberPath值設置爲null,其適用於自定義約束,衝突我的代碼環境,並沒有排序。所以我仍然對更好的解決方案感興趣。
編輯:
改衝突的代碼的其他地方,以允許重複SortMemberPath的,不支持某些列排序,併爲某種關相鄰列值