Почему я не могу получить доступ к AutoCompleteBox в любой функции, кроме главного окна в WPF? - PullRequest
0 голосов
/ 20 декабря 2010

Я пытаюсь сделать

codebox.ItemsSource = codesList;
codebox.PopulateComplete();

из созданного мной события Заполнение, и я получаю сообщение об ошибке

"Имя" кодовое поле "не существует втекущий контекст '

Это работало, когда я только что заполнил его из главного окна. Кто-нибудь знает, что мне не хватает?

Спасибо!

1 Ответ

3 голосов
/ 20 декабря 2010

Это выглядит так, потому что codebox не виден из области, где объявлен ваш обработчик событий Populating.Когда обработчик события Populating находится в пределах MainWindow, элемент управления codebox «виден» этому коду.См. здесь для получения дополнительной информации.

Где объявлен ваш обработчик события Populating?

Также обратите внимание, что параметр sender в событии Populating долженбыть ссылкой на codebox.Вы можете просто привести это к AutoCompleteBox, и оно должно работать нормально, например:

private void Codebox_Populating(object sender, PopulatingEventArgs e)
{ 
    AutoCompleteBox _codebox = sender as AutoCompleteBox;

    // Use _codebox here instead of codebox
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...