Tôi đang cố sắp xếp cột trên nội dung số. Công cụ chuyển đổi đa liên kết hoạt động tốt. Giải pháp này sẽ đặt SortMemberPath thành nullDataGridColumn SortMemberPath trên MultiBinding
Tôi đã thử nhiều cách khác nhau và đã lướt qua Internet một cách đáng kể.
Mã đã được sửa đổi từ bản gốc vì mục đích bảo mật.
<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>
EDIT: Tôi tìm thấy một cách để có được dữ liệu ràng buộc để làm việc mà không multibinding, nhưng sắp xếp vẫn không hoạt động. Kể từ khi DataGrid được ràng buộc vào một lớp tùy chỉnh, tôi lấy toàn bộ giá trị và chuyển đổi từ đó, do đó làm giảm sự cần thiết cho MultiBinding.
<DataGridTextColumn x:Name="avgPriceColumn" Binding="{Binding Converter={StaticResource avgPriceConverter}}" SortMemberPath="{Binding Converter={StaticResource avgPriceConverter}}" />
Trên cả các tùy chọn này SortMemberPath là thiết lập mặc định để ràng buộc vì vậy tôi không cần phải xác định một cách rõ ràng như tôi có
Tuy nhiên này kết thúc thiết lập giá trị SortMemberPath null xung đột với các ràng buộc áp dụng đối với khách hàng môi trường mã của tôi và không sắp xếp. Vì vậy, tôi vẫn quan tâm đến các giải pháp tốt hơn.
EDIT:
thay đổi mã mâu thuẫn ở những nơi khác để cho phép trùng lặp của SortMemberPath, không hỗ trợ sắp xếp trên một số cột, và đối với một số giá trị loại ra khỏi nước láng giềng cột