Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 wpf customisation TreeView  [new]
Che0
Member

Откуда:
Сообщений: 299
Добрый день.

В DataTemplate у меня есть следующий элемент в виде овала(Другие элементы я убрал для простоты)
Мне надо Из тригера в TreeViewItem по событию IsSelected менять Овалу Background.

ПРоблема в том что овал в определени DataTemplate, а нужный тригер такой есть только в опеределении ControlTemplate TargetType="{x:Type TreeViewItem}. Как мне решить проблему?
Спасибо.

<DataTemplate   DataType="{x:Type l:Child}">
     <Border  Name="innerBorderRound" Background="#E1E1E1"  CornerRadius="6,6,6,6" BorderBrush="#FFBBC1C9" BorderThickness="0,1,1,0">
           <TextBlock HorizontalAlignment="Center"  Text="{Binding Path=Age}"/>
         </Border>
      </Border>
  </DataTemplate>
20 ноя 14, 10:58    [16876751]     Ответить | Цитировать Сообщить модератору
 Re: wpf customisation TreeView  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13632
Править ControlTemplate.
20 ноя 14, 13:05    [16877893]     Ответить | Цитировать Сообщить модератору
 Re: wpf customisation TreeView  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4036
в модели представления для каждого элемента дерева должно быть свойство IsSeleted, которое вы должны забиндить на свойство элемента дерева TreeViewItem, а вот в DataTemplate, нужно делать DataTrigger на это свойство. Если вам нужно изменить состояние элемента в DataTemplate, то очевидно, что оно должно быть привязано к данным модели представления.

вариант номер : это переопределить шаблон TreeViewItem, с помощью StateManager'а или Trigger'а можно определить цвет фона декораторов шаблона на которых будет располагаться ContentPresenter.
21 ноя 14, 13:16    [16884881]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить