2014-10-28 2 views
0

Я использую Xceed CheckComboBox: https://wpftoolkit.codeplex.com/wikipage?title=CheckComboBox&referringTitle=HomeCheckComboBox установить свойство не работает

В моем ComboBox существует несколько типов. Все типы перечислены правильно в поле со списком. Моя проблема заключается в том, что если я сниму отметку с элемента, свойство-свойство IsFiltered не вызывается:

ответ

0

Большинство полей, которые заканчиваются на MemberPath, ищут строку, содержащую имя свойства.

В вашем случае, вам нужно

ValueMemberPath="IsFiltered" 

вместо

ValueMemberPath="{Binding IsFiltered, Mode=TwoWay} 

Сейчас его ищут на вашем объекте данных для строки свойство, названное IsFiltered, что скажет ему, что свойство имя использовать для Value, а так как ваш IsFiltered - это bool, это не сработает.

+0

Я думаю, что «ValueMemberPath» в этом элементе управления используется для указания суб-свойства каждого выбранного элемента для включения в 'SelectedValue'. Я не думаю, что он отражает состояние выбора, т. Е. Проверяется ли элемент. –

+0

@MikeStrobel А может быть, вы правы. Я сразу попался под неправильное использование «ValueMemberPath» и не считал, что могут быть другие проблемы, связанные с дизайном и использованием «CheckedComboBox». Раньше я не использовал элементы управления XCeed, поэтому не знаю, как они работают. – Rachel

0

Из документации не видно, как можно сделать поле со списком привязанного состояния флажка к свойству элемента. Скорее, выбранные элементы отображаются через свойство SelectedItems. Вы можете указать свою собственную коллекцию для хранения выбранных элементов с помощью SelectedItemsOverride, поэтому привязка ее к IsFiltered не имеет смысла. Вероятно, вам нужно будет связать SelectedItemsOverride с номером ObservableCollection<NapTypeItem> и вручную наблюдать за изменениями в коллекции и обновлять свойство «IsFiltered» при изменении выбора.

 Смежные вопросы

  • Нет связанных вопросов^_^