c # wpf как ссылаться на динамически добавленный элемент управления - PullRequest
1 голос
/ 16 июля 2010

Просто начнем с C #, так что это может быть слишком просто, и я продолжаю упускать его из виду ... В главном окне у меня есть панель стека с именем targetDocArea, которая будет содержать элементы управления.Основываясь на пользовательском вводе, элементы управления отображаются на панели следующим образом:

var htmlView = new System.Windows.Controls.WebBrowser();
htmlView.MinHeight = 200;
htmlView.Height = deskHeight - 225;
htmlView.Name = "targetDocControl";
htmlView.Navigate(dlg.FileName);
this.targetDocArea.Children.Add(htmlView);

Теперь у меня есть другая функция, которая должна взаимодействовать с этим элементом управления, и я немного растерялся.Я бы подумал, что есть какой-то индекс, который я мог бы использовать для ссылки на дочерние элементы панели или непосредственно, используя имя.

Я читал об этом "this.registerName", но я не уверен, что этоправильный способ решения этой проблемы.

Буду очень признателен за любые рекомендации - и я бы не отказался от перехода со стековой панели на что-то более подходящее, что позволило бы эту интерактивность.

Спасибо.

1 Ответ

2 голосов
/ 16 июля 2010

Вы должны хранить элемент управления в поле вашего класса, например:

private WebBrowser htmlView;

Затем вы можете использовать это поле в любой функции.

Если вам нужно сохранить числокопий элемента управления, вы можете использовать List<WebBrowser> поле , например:

private List<WebBrowser> htmlViews = new List<WebBrowser>();

//Elsewhere:
htmlViews.Add(something);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...