Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView родительский елемент. 
:(
    Опции темы
Lokki23
  Дата 17.5.2014, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 12.5.2014

Репутация: нет
Всего: нет



Добрый день.

У меня возникла такая проблемка. 
Не подскажите как имея дочерний елемент получить родительский. 

Я получаю елемент который выбран. Cвойство Selected.

 TreeViewItem d = (TreeViewItem)TreeV.SelectedItem;





PM MAIL   Вверх
Экскалупатор
Дата 17.5.2014, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



каким бы странным это не казалось, но за это отвечает свойство... Parent

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

        private void Form1_Load(object sender, EventArgs e)
        {
            //this.treeView1.Nodes[0] - родительский нод, созданный в редакторе или добавленный в коде, к нему явно цепляются дочерние элементы
           this.treeView1.Nodes[0].Nodes.AddRange(new TreeNode[]{new TreeNode("1"), new TreeNode("2"), new TreeNode("3"),  });
        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            var parent = this.treeView1.SelectedNode.Parent;
            MessageBox.Show(parent.Text);//после клика покажет текст из родительского нода
        }

PM MAIL ICQ   Вверх
Lokki23
Дата 17.5.2014, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 12.5.2014

Репутация: нет
Всего: нет



Вы пишите про TreeView в WindowsForms а я работаю в WPF.

Тут немного другой TreeView в нем нет например Nodes. Здесь я так понял Items.
PM MAIL   Вверх
Экскалупатор
Дата 17.5.2014, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



да принцип тот же, то же самое свойство.
Код

<TreeView Height="250" HorizontalAlignment="Left" Margin="32,32,0,0" Name="treeView1" VerticalAlignment="Top" Width="143" SelectedItemChanged="treeView1_SelectedItemChanged">
            <TreeViewItem Header="wqe">
                <TreeViewItem Header="123" />
                <TreeViewItem Header="234">
                    <TreeViewItem Header="0" />
                    <TreeViewItem Header="9" />
                    <TreeViewItem Header="8" />
                </TreeViewItem>
                <TreeViewItem Header="345" />
                <TreeViewItem Header="456" />
            </TreeViewItem>
        </TreeView>


Код

        private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            var d = (TreeViewItem)this.treeView1.SelectedItem;
            var parent = (TreeViewItem)d.Parent;
            MessageBox.Show(parent.Header.ToString());
        }

PM MAIL ICQ   Вверх
Lokki23
Дата 18.5.2014, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 12.5.2014

Репутация: нет
Всего: нет



Спс. Работает как часы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0877 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.