У меня есть MultiBinding, который прекрасно работает,
Я хочу, чтобы иметь возможность сортировать определенный столбец, он отображает вес: ширина, ч: высота
Насколько я понимаю, мне нужно построить пользовательский класс IComparer, который будет использоваться для сравнения.
Вот мой XAMLПользовательские Сортировать по XamDataGrid для MultiBinding
<igWPF:UnboundField Label="Output Width/Height" Width="auto">
<igWPF:Field.Settings>
<igWPF:FieldSettings SortComparer="{StaticResource SortWidthHeightComparer }">
<igWPF:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igWPF:CellValuePresenter}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igWPF:CellValuePresenter}" >
<TextBlock Margin="3">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource settingsBdsToStringConverter}">
<Binding Path="DataItem.Key"/>
<Binding Path="DataContext.SelectedPipeMode" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type igWPF:XamDataGrid}}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</igWPF:FieldSettings.CellValuePresenterStyle>
</igWPF:FieldSettings>
</igWPF:Field.Settings>
</igWPF:UnboundField>
Вот мой MultiBinding конвертер
class SettingsOutputResToStringConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values[1] is Mode && values[0] is ConfigurationKey)
{
var pMode = (Mode)values[1];
var key = values[0] as ConfigurationKey;
var res = key.GetOutput(pMode);
return String.Format("W: {0}, H: {1}", res.Width, res.Height);
}
return String.Empty;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}
Однако моя проблема заключается в том, как я прохожу multibind результат в классе Comparer
class SortWidthHeightComparer : IComparer
{
public int Compare(object x, object y)
{
return 1;
}
}
object x
и object y
, всегда равны нулю
Я получаю его, мне просто нужно удалить шаблон управления – Gilad
@ Gilad ... У меня также есть такая же проблема. У меня есть UnboundFields, и у каждого есть Control Template, и теперь я хочу добавить Custom Sort. Ссылка говорит, что ни одно из решений не работает. Вы действительно решили проблему. если да, сообщите нам, как вы это сделали – Ziggler