![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| vinograd2008 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.12.2008 Репутация: нет Всего: нет |
Есть дерево treeView
А Африка Кофе Б Бразилия Кофе2 Как сделать программно так чтобы при выборе TreeViewItem Африка в первое текстовое поле записывалось Африка и во второе текстовое поле записывалось кофе, а если выбираю Бразилия то во второе текстовое поле записывается Кофе2? Т.е. как считать текст дочернего элемента TreeViewitem? |
|||
|
||||
| Gvozdin |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Идея сего токова:
1. Получаем дочерний TreeViewItem по нашему дочернему айтему: var childTreeItem = this.ItemContainerGenerator.ContainerFromItem(this.Items[0]) 2. Находим заголовок айтема: var header = VisualHelper.FindVisualChild<FrameworkElement>(childTreeItem, "PART_Header") 3. Находим текст бокс который нам нужет: var ourSuperTextBox = VisualHelper.FindVisualChild<TextBox>(header, "SuperTextBoxName") 4. Радуемся НО ЭТО ВСЁ ПОЛНАЯ ФИГНЯ! Хождение по визуальному дереву в основном необходимо для реализации технологических вещей в приложении, логика же приложения пусть остается логикой приложения и в визуальное дерево не лезет. Иначе получаются вот такие вот вопросы, которые просто не возникли бы при другом подходе. 1. Класс ModelView для элемента дерева:
2. Байндим TextBox.Text на TextBoxValue, а ItemsSource в HierarchicalDataTemplate на Children 3. Делаем обработчик клика на элементе дерева:
ВСЕ! --------------------
http://gvozdin.ru |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |