Как программно обновить привязку источника элементов в выпадающем списке? - PullRequest
2 голосов
/ 16 июля 2009

Я нашел некоторые вопросы относительно этих вопросов на SO, но они меня не удовлетворяют. Они говорят о INotifyProperyChanged, но это не помогает в моем случае.

У меня есть Combobox. Для ItemsSource я использую MultiBinding и Converter для создания ICollectionView. ICollectionView связывается с ItemsSource.

На событии GotFocus эту привязку необходимо обновить, чтобы преобразователь снова запустился.

Как я могу это сделать?

Ответы [ 2 ]

8 голосов
/ 16 июля 2009

Хорошо, коллега помог мне.

Это решение:

private void theComboBox_OnGotFocus(object sender, RoutedEventArgs e)
{
    ComboBox theComboBox = sender as ComboBox;

    if (theComboBox != null)
    {
        MultiBindingExpression binding = BindingOperations.GetMultiBindingExpression(theComboBox, ComboBox.ItemsSourceProperty);
        if (binding != null)
        {
            binding.UpdateTarget();
        }
    }
}
0 голосов
/ 16 июля 2009

Если вы можете получить доступ к ICollectionView в своем коде, вы можете попробовать метод Обновить ...

Надеюсь, это поможет ..

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