Как остановить ошибку привязки данных при отмене выбора элемента в combobox?
У меня есть экран, который показывает то, что на самом деле является мастер-детальным представлением. Мастер - это список проектов. Детальная часть вида имеет
ComboBox
это показывает имя менеджера проекта для выбранного проекта. То ComboBox
список привязан к списку имен, предоставленных совершенно другим классом.Все работает нормально до тех пор, пока я не нажму кнопку, которая должна отменить выбор всего на экране - то есть вернуть экран в то состояние, в которое он был загружен впервые. Когда я установил
SelectedIndex
собственность компании ComboBox
до -1 Я получаю следующую ошибку:Система.Окна.Ошибка данных: 4: не удается найти источник для привязки со ссылкой 'RelativeSource FindAncestor, AncestorType=' System.Окна.Управления.ItemsControl', AncestorLevel= '1". BindingExpression: Path=HorizontalContentAlignment; DataItem=null; целевой элемент - 'ComboBoxItem' (Name="); целевое свойство - 'HorizontalContentAlignment' (тип 'HorizontalAlignment')
У кого-нибудь есть идеи, что может быть происходит не так? Должен признаться, что я нахожусь в неведении, как это отладить. Кажется, я перепробовал все.
Добрые пожелания ~ Патрик
Что я уже пробовал:
Я попробовал установить
SelectedItem
null одновременно с установкой SelectedIndex в значение -1.Я пробовал не устанавливать
SelectedIndex
вообще, что не дает никакой ошибки, но оставляет поле, отображающее имя последнего выбранного проекта.Я попытался добавить пустую строку в список имен, которые
ComboBox
это неизбежно.И я уверен, что перепробовал еще около 50 вещей, которые даже не могу вспомнить.
Richard Deeming
Вы используете MVVM?
Patrick Skelton
Проект - это WPF, и я старался держаться достаточно близко к шаблону MVVM, но я не использую никакой конкретной структуры. Надеюсь, это ответ на ваш вопрос.