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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView. Binding + ItemsSource 
V
    Опции темы
-Mikle-
Дата 7.5.2009, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Есть такой класс:
class Category
    string Title;
    Category Parent;
    List<Category> Childs;

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

Код

        <Grid.Resources>
            <DataTemplate x:Key="categoriesTemplate">
                <TreeViewItem Header="{Binding Title}"
                              ItemsSource="{Binding Childs}"
                              ItemTemplate="{Binding ItemTemplate, RelativeSource={RelativeSource FindAncestor, AncestorType=TreeView}}" />
            </DataTemplate>
        </Grid.Resources>
        
        <TreeView Name="treeView1" Grid.Column="0" ItemTemplate="{StaticResource categoriesTemplate}" />


В коде устанавливаю ItemsSource. Все в принципе работает, дерево создается, но не работает выделение, то есть ноды не синеют smile. Ноды раскрываются, но они не синиеют. Добавлял стиль к TreeViewItem. Там настраивал тригер на свойство IsSelected=True и менял Background, но тригер не срабатывал. Видимо потому, что реальными объектами являются не TreeViewItem, а Category. Вопрос, как это все победить? Вариант с добавлением TreeViewItem циклом в коде и установкой Tag на экземпляр Category, не устраивает и остается как неизбежная альтернатива.


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


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



-Mikle-, я бы посоветовал поюзать HierarhicalDataTemplate


Код

            <HierarchicalDataTemplate ItemsSource="{Binding Childs}" x:Key="categoriesTemplate">
                <TextBlock Text="{Binding Title}"/>
            </HierarchicalDataTemplate>



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
-Mikle-
Дата 8.5.2009, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Partizan, стыдно признаться, но я не знал о его существовании smile 
Спасибо, что в очередной раз меня ткнул меня носом  smile 



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


Новичок



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

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



Цитата(Partizan @ 7.5.2009,  22:53)
-Mikle-, я бы посоветовал поюзать HierarhicalDataTemplate


Код

            <HierarchicalDataTemplate ItemsSource="{Binding Childs}" x:Key="categoriesTemplate">
                <TextBlock Text="{Binding Title}"/>
            </HierarchicalDataTemplate>

Доброго времени суток. Подскажите как HierarhicalDataTemplate добавить в проект ? Я использую VS2010 и Silverlight 4, но ничего подобного в XAML'е не могу найти.

Это сообщение отредактировал(а) Костэн - 12.6.2010, 23:11
PM MAIL   Вверх
DenWPF
Дата 4.7.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



тоже самое не понимаю кака им польозватся
PM MAIL   Вверх
Partizan
Дата 5.7.2010, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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





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


 




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


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

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