powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF, и еще раз о раскрашивании элементов списка.
2 сообщений из 2, страница 1 из 1
WPF, и еще раз о раскрашивании элементов списка.
    #38321141
misha_gr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некий listbox:

Код: xml
1.
2.
3.
4.
5.
        <ListBox Focusable="True" HorizontalContentAlignment="Stretch" Name="listBoxTasks" Grid.Row="1" Margin="4">
            <ListBox.Resources>
                <SolidColorBrush Color="Transparent" x:Key ="{x:Static SystemColors.HighlightBrushKey}" />
            </ListBox.Resources>
        </ListBox>



И есть некий UserControl:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<UserControl x:Class="TaskTracker.View.Elements.TaskElement"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="67" d:DesignWidth="437" Margin="2">
    <Border BorderThickness="2" Grid.ColumnSpan="3" Name="brdOuter" CornerRadius="6" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="5" 
            BorderBrush="SteelBlue" >
        <TextBlock Name="tbInfo" Text="TextBlock" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" />
    </Border>
</UserControl>



который используется в качестве элемента списка в вышеупомянутом листбоксе.

Никак не получается добиться, чтобы Border менял свой цвет фона в зависимости от состояния, например White если не выбран, LightBlue если выбран.

Пытался применить стиль, что-то вроде:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            <ListBox.ItemContainerStyle>
                <Style>
                    <Style.Triggers>
                        <Trigger Property="ListBoxItem.IsSelected" Value="True">
                            <Setter Property="TextBlock.Foreground" Value="Green"/>
                            <Setter Property="Border.Background" Value="LightSteelBlue"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </ListBox.ItemContainerStyle>



В результате цвет шрифта меняется, но цвет фона остается прежним.
ЧЯДНТ?
...
Рейтинг: 0 / 0
WPF, и еще раз о раскрашивании элементов списка.
    #38321721
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_gr,

ты понимаешь, что твой контрол сидит в ItemContainer?
у ItemContainer есть свой бордер и фон, притом ты не видел шаблон от ItemContainer. Обязательно посмотри.
у твоего контрола тоже это есть

теперь можешь задать вопрос.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF, и еще раз о раскрашивании элементов списка.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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