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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView динамическое заполение 
:(
    Опции темы
gambit
Дата 10.3.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Добрый день. Необходимо сделать 3 уровневый TreeView. Подскажите куда направиться, ибо я чет никак не соображу как же его строить.
Допустим с wcf я получу
List<string> A;
Прибиндил треевью к этому листу, первый пункт заполнен. но как биндить эти пункты меню к сделующим спискам, в общем я чета запутался.
при создании пункта ловить какое ниб событие и из него подписывать только что созданное меню к след листу или как? Может есть какая ниб структура, что бы я прибиндил ее и весь треевью был заполнен??
PM MAIL ICQ Skype   Вверх
gambit
Дата 10.3.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Отбой, нашел пример в silverlight toolKit
PM MAIL ICQ Skype   Вверх
Rohoss
Дата 11.3.2011, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



создал тему, значит напиши решение  smile 
а то интересно как там это реализовано


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
gambit
Дата 11.3.2011, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Значит создается структура из 3 вложеных листов и имен. Ну я пишу суть, так что тупо отсюда код не копируйте:

Код


Class C
{
string Name;
}

Class B
{
string Name;
List<C> c;
}

Class A
{
string Name;
List<B> b;
}

Class Main
{
List<A> a;
}


ThreeView - itemSource биндится к Main.a, а ItemTemplate к agenceEntry, который имеет след вид:
Код

<UserControl.Resources> // ну здесь может быть не UserControl, а ваш тип окна, главное что это в ресурсах
        <controls:HierarchicalDataTemplate x:Key="сEntry">
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding Icon}"/>
                <TextBlock FontStyle="Italic" Text="{Binding Path=UserName}" />
            </StackPanel>
        </controls:HierarchicalDataTemplate>

        <controls:HierarchicalDataTemplate x:Key="groupEntry" ItemsSource="{Binding Path=Users}" ItemTemplate="{StaticResource userEntry}">
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding Icon}"/>
                <TextBlock Text="{Binding Path=GroupName}" />
            </StackPanel>
        </controls:HierarchicalDataTemplate>

        <controls:HierarchicalDataTemplate x:Key="agenceEntry" ItemsSource="{Binding Path=Groups}" ItemTemplate="{StaticResource groupEntry}">
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding Icon}"/>
                <TextBlock FontWeight="Bold" Text="{Binding Path=AgenceName}" />
            </StackPanel>
            </controls:HierarchicalDataTemplate>
    </UserControl.Resources>

Ну переписывать не стал, структура itemTemplate еще содержит картинку, свойство Uri которое выше в пример я не включил, и имеет имена заточеные под Agence, Group, User а не под A B C.
PM MAIL ICQ Skype   Вверх
-Mikle-
Дата 11.3.2011, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Ты забыл написать, что HierarchicalDataTemplate для первого уровня задается в свойстве ItemTemplate у TreeView.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
gambit
Дата 11.3.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Цитата(-Mikle- @  11.3.2011,  10:59 Найти цитируемый пост)
Ты забыл написать, что HierarchicalDataTemplate для первого уровня задается в свойстве ItemTemplate у TreeView. 


Цитата(gambit @  11.3.2011,  10:29 Найти цитируемый пост)
 itemSource биндится к Main.a, а ItemTemplate к agenceEntry


PM MAIL ICQ Skype   Вверх
-Mikle-
Дата 11.3.2011, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



а.. пропустил smile... сорри...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
gambit
Дата 25.3.2011, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Вопрос снова поднимается. В связи с некоторыми загонами заказчика, было принято решение сделать даун до 3 версии сильверлайта. А в сильвер 3 нет HierarchicalDataTemplate. Как быть??

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


 




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


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

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