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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение цвета фона при клике на контейнер 
V
    Опции темы
softrix
Дата 13.12.2010, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите как можно убрать изменение цвета фона при клике на контейнер, к примеру:

Код

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <ListBox>
            <TextBox>123</TextBox>
        </ListBox>
    </Grid>
</Window>



При клике на тексбокс, синим выделяется целая строка, зачем это нужно и как от этого избавитья можно ?
PM MAIL   Вверх
Kaerus
Дата 13.12.2010, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WPF'er
*


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

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



вопрос не раз обсуждался (и здесь и на сторонних сайтах)
пару решений сходу
  • Если нужно просто вывести список элементов, без выделения можно использовать ItemsControl
  • Или если не используется ItemsSource & ItemTemplate, вообще подумать о StackPannel или DockPanel
  • Изменить цвет выделения на прозрачный (эдакий хак))
    Код

    <ListBox>
        <ListBox.Resources>
            <!-- override the system brushes so that selected items are transparent
                 whether the ListBox has focus or not -->
            <SolidColorBrush
                x:Key="{x:Static SystemColors.HighlightBrushKey}" 
                Color="Transparent" />
            <SolidColorBrush
                x:Key="{x:Static SystemColors.ControlBrushKey}" 
                Color="Transparent" />
            <SolidColorBrush
                x:Key="{x:Static SystemColors.HighlightTextBrushKey}" 
                Color="Black" />
        </ListBox.Resources>
        <!-- ... your items here ... -->
    </ListBox>
  • Изменить стиль ListBoxItem (в который оборачиваются все элементы в ListBox)
    Типа такого (взято отсюда )
    Код

    <Style x:Key="SimpleListBoxItem"
            TargetType="ListBoxItem">
        <Setter Property="FocusVisualStyle"
                Value="{x:Null}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ListBoxItem">
                    <Border Name="Border"
                            Padding="2"
                            SnapsToDevicePixels="true">
                        <ContentPresenter />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsSelected"
                                    Value="true">
                            <Setter TargetName="Border"
                                    Property="Background"
                                    Value="{StaticResource AuthorGradient}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


Это сообщение отредактировал(а) Kaerus - 13.12.2010, 20:37
PM MAIL ICQ   Вверх
softrix
Дата 13.12.2010, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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