Вложенный ListBox: возможно ли восстановить родительский элемент ListBox, когда выбран дочерний элемент ListBox? - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть вложенные списки, такие как элемент warningListBox, который может содержать картинкиListBox и audioRecordListBox.Когда я выбираю один элемент дочернего ListBox (например, элемент pictureListBox), мне нужно не только восстановить выбранный элемент изображения, но также элемент родительского предупреждения ListBox (элемент warningListBox).В multimediaListBox_SelectionChanged (отправитель объекта, SelectionChangedEventArgs e) я могу восстановить выбранный дочерний элемент

((System.Windows.Controls.ListBox) отправитель) .SelectedItem

, но КАК МОЖНО ВОССТАНОВИТЬ ЭЛЕМЕНТPARENT warningListBox ??

Должен ли я добавить в каждый дочерний элемент ListBox дополнительное поле с идентификатором родительского элемента ??... или есть лучшее решение, например, навигация в отправителе или использование eventArgs события SelectionChanged?

Ожидание некоторых предложений ...

Enzo Contini

1 Ответ

0 голосов
/ 13 февраля 2012

Возможно, проще всего сделать структуру данных похожей на ваш пользовательский интерфейс. Так что сделайте структуру данных тоже вложенной.

Чтобы включить трассировку родителя, добавьте свойство Parent к дочерним элементам.

Таким образом, вы можете получить родительский элемент следующим образом:

var parent = ((MySubitem)((System.Windows.Controls.ListBox)sender).SelectedItem).Parent;

Возможно, вам будет проще поддерживать эту структуру, чем пытаться отслеживать элементы управления пользовательским интерфейсом.

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