powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / убрать голубой прямоугольник выбора с TreeViewItem
4 сообщений из 4, страница 1 из 1
убрать голубой прямоугольник выбора с TreeViewItem
    #38660317
Фотография _Novichok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть TreeView
TreeView
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<TreeView x:Name="ProjTreeView"
          ItemsSource="{Binding}"
          Height="322" Width="218.701">

    <TreeView.ItemContainerStyleSelector>
        <ui:TreeViewItemStyleSelector
            ProjectStyle="{StaticResource ProjectTreeViewItemStyle}"/>
    </TreeView.ItemContainerStyleSelector>
    
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type model:Project}"
                                  ItemsSource="{Binding Path=Items}">
            <TextBlock Text="{Binding Name}"/>            
        </HierarchicalDataTemplate>        
    </TreeView.Resources>
</TreeView>


как видно из кода, элементы созданы с помощью HierarchicalDataTemplate. В зависимости от того, выбран ли TreeViewItem или нет, в дереве изменяется стиль TreeViewItem, в том числе и свойство Background:
Style.Triggers
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<Style.Triggers>
    <Trigger Property="IsSelected"
                Value="False">
        <Setter Property="Background"
                Value="White"/>
        <Setter Property="BorderBrush"
                Value="Firebrick"/>
        <Setter Property="Foreground"
                Value="Black"/>
    </Trigger>
    <Trigger Property="IsSelected"
                Value="True">
        <Setter Property="Background"
                Value="Firebrick"/>
        <Setter Property="BorderBrush"
                Value="Green"/>
        <Setter Property="Foreground"
                Value="White"/>
    </Trigger>
</Style.Triggers>


Но стандартное поведение при щелчке мышью - синий прямоугольник фокуса. Соответственно, измененного цвета фона не видно.

Вопрос: как убрать этот синий прямоугольник фокуса, чтобы было видно цвет фона соответственно стилю?
...
Рейтинг: 0 / 0
убрать голубой прямоугольник выбора с TreeViewItem
    #38660403
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Novichok,
Код: xml
1.
2.
3.
<TreeView.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Green"/>
</TreeView.Resources>


можно переопределить цвет выделения
...
Рейтинг: 0 / 0
убрать голубой прямоугольник выбора с TreeViewItem
    #38660465
Фотография @k@DElpher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes_Novichok,
Код: xml
1.
2.
3.
<TreeView.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Green"/>
</TreeView.Resources>


можно переопределить цвет выделения
Кстати, я вот тут шарюсь по ссылкам вроде: http://msdn.microsoft.com/ru-ru/library/ms752048(v=vs.110).aspx (Стили и шаблоны элемента TreeView). Когда-то я считал, что внизу приводится пример стиля, который по сути определен по умолчанию (то есть в generic.xaml). Но вот смотрю - в примере HighlightBrushKey не используется.
Отсюда два момента:
1) А где всё-таки выдрать код шаблона, который используется по умолчанию с этими элементами
2) А если этот код официально нигде не приводится, то на сколько правильно использовать эти "хаки" подменой системных ресурсов? (хотя на то они и стили, чтоб поменять можно было)
...
Рейтинг: 0 / 0
убрать голубой прямоугольник выбора с TreeViewItem
    #38660632
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут искать стиль <Style TargetType="{x:Type TreeViewItem}" . Тут пояснения.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / убрать голубой прямоугольник выбора с TreeViewItem
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]