SelectedValue явное связывание обновлений, когда ItemsSource изменить .. почему? - PullRequest
2 голосов
/ 25 июня 2010

У меня есть ListBox с явной привязкой, установленной на SelectedValue.

SelectedValue="{Binding Path=Property, UpdateSourceTrigger=Explicit}"

ItemSource для ListBox является ObservableCollection.

Когда я выбираю элемент ListBox и нажимаю «Enter»Я обновляю значение свойства следующим образом:

BindingExpression be = listBox.GetBindingExpression(ListBox.SelectedValueProperty);
be.UpdateSource();

Теперь у меня есть такая проблема: мне нужно сбросить ItemsSource в ListBox с помощью специальных действий в моем окне, а при вызове метода «Clear» для ItemsSource - связывание.в SelectedValue обновляется (до нуля)!Почему?

Как можно этого избежать?

1 Ответ

2 голосов
/ 25 июня 2010

Когда вы очищаете / сбрасывает itemSource, выбранный элемент будет нулевым, если этот элемент удален из источника. Очевидно, SelectedValue станет нулевым.

Если очистка коллекции вызывает ошибку, сначала вы должны сделать Itemsource = null, очистить коллекцию и заново связать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...