मैं संख्यात्मक सामग्री पर कॉलम सॉर्ट करने का प्रयास कर रहा हूं। बहु बाध्यकारी कनवर्टर ठीक काम करता है। यह समाधान सॉर्टमेम्बरपाथ को शून्यमल्टीबाइंडिंग पर डेटाग्रिड कॉलम सॉर्टमेम्बरपाथ
पर सेट करेगा, मैंने कई तरीकों से प्रयास किया है, और इंटरनेट को काफी हद तक खराब कर दिया है।
सुरक्षा उद्देश्यों के लिए मूल से कोड संशोधित किया गया है।
<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 बिना काम करने के लिए बाध्य डेटा प्राप्त करने के लिए एक रास्ता मिल गया, लेकिन अभी भी छँटाई काम नहीं करता। चूंकि डेटाग्रिड एक कस्टम क्लास से जुड़ा हुआ है, इसलिए मैं पूरा मूल्य लेता हूं और उसमें से कनवर्ट करता हूं, इस प्रकार मल्टीबाइंडिंग की आवश्यकता को कम करता है।
<DataGridTextColumn x:Name="avgPriceColumn" Binding="{Binding Converter={StaticResource avgPriceConverter}}" SortMemberPath="{Binding Converter={StaticResource avgPriceConverter}}" />
इन दोनों विकल्पों पर SortMemberPath बाइंडिंग तो मैं स्पष्ट रूप से इसे परिभाषित करने के लिए के रूप में मैं
है हालांकि इस समाप्त होता है SortMemberPath मान सेट जो के लिए लागू कस्टम की कमी के विरोध में शून्य की जरूरत नहीं है करने के लिए डिफ़ॉल्ट सेट है मेरा कोड पर्यावरण, और सॉर्ट नहीं करता है। तो मुझे अभी भी बेहतर समाधान में दिलचस्पी है।
संपादित करें:
परस्पर विरोधी कोड बदल दिया है कहीं और डुप्लिकेट SortMemberPath की, कुछ स्तंभ पर छँटाई का समर्थन नहीं करते अनुमति देने के लिए, और किसी प्रकार का बंद पड़ोसी-स्तंभ मान के लिए