#wpf #wpf-controls
#wpf #wpf-элементы управления
Вопрос:
Я отправил несколько параметров из моей команды Checkbox. Я использовал конвертер. Код приведен ниже. Если я поставлю отладчик и увижу значения, вот мои результаты :
Когда флажок установлен или снят :
В конвертере у него есть значения (массив объекта item и логическое значение). Но когда я перехожу к своему методу, значением является object[2], но оба значения равны NULL
Флажок XAML
<CheckBox x:Name="checkBox"
Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.Data.Label}"
ClickMode="Release"
Command="{Binding Path=DataContext.SelectUnSelect}">
<CheckBox.CommandParameter>
<MultiBinding Converter="{StaticResource SelectedItemConverter}">
<Binding RelativeSource="{RelativeSource TemplatedParent}" Path="Content.Data"/>
<Binding RelativeSource="{RelativeSource Self}" Path="IsChecked"/>
</MultiBinding>
</CheckBox.CommandParameter>
Конвертер :
public class CheckConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return values;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Просмотр кода команды модели :
public ICommand SelectUnSelect
{
get { return new RelayCommand<object>(parm => this.SelectAndUnSelect(parm));}
}
Если я помещаю отладчик в метод SelectAndUnSelect, он показывает мне object[2] в parm, но оба они равны нулю.
Наблюдение: если я привязываю свой командный параметр к любой из привязок, он работает нормально.
Чего мне здесь не хватает?
- Шанкар
Ответ №1:
У меня была такая же проблема раньше, если я правильно помню, то возврат values.ToList()
вместо просто values
должен исправить это
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return values.ToList();
}
Комментарии:
1. У меня тоже работает. Мне было бы интересно узнать, почему это работает только так, а не путем возврата массива объектов.