Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.04.2021
Сообщений: 20

Изменить цвет фона кнопки при наведении мыши

03.03.2025, 03:19. Показов 922. Ответов 1

Author24 — интернет-сервис помощи студентам
Цвет кнопки не меняется при наведении курсора мыши. Точнее, при наведении курсора мыши цвет кнопки меняется на стандартный, а не на предустановленный. Меняется цвет шрифта и другие свойства. Стиль только один. Я пытался реализовать это с помощью C#, а не XAML, результат тот же. Если вы добавите параметр tempelate для определения фона Background="{Фон привязки шаблона}", то все начнет работать. Но я хочу избежать добавления этого параметра. Так как в примерах все работает и без этого. Ниже привожу коды из минимально воспроизводимого эксперимента. Не хочу использовать tempelate (возможно пишу с опечаткой уже сутки не сплю), так как это принесет больше неудобств чем пользы в моем случае. Могу привести пример работающего стиля c tempelate. Я использую последнюю версию .NET 8.0, на Net framework такой проблемы нет, но переписывать тоже не вариант.
XML Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<Style x:Key="RedButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Background" Value="#B0C4DE"></Setter>
        <Setter Property="Foreground" Value="Black"></Setter>
        <Setter Property="FontFamily" Value="Century, sans-serif"></Setter>
        <Setter Property="Margin" Value="10"/>
        <Setter Property="Padding" Value="10,5"/>
        <Setter Property="Cursor" Value="Hand"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="FontSize" Value="20"/>
        <Setter Property="Effect">
            <Setter.Value>
                <DropShadowEffect Color="Black" BlurRadius="5" ShadowDepth="0"/>
            </Setter.Value>
        </Setter>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Crimson"/>
            <Setter Property="Foreground" Value="#FFFFFF"/>
        </Trigger>
    </Style.Triggers>
</Style>
код кнопки
C# Скопировано
1
<Button Content="Выход"  Style="{StaticResource RedButtonStyle}" Click="ExitButton_Click"/>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2025, 03:19
Ответы с готовыми решениями:

Как изменить цвет кнопки при наведении на нее курсора мыши?
Добрый день! Как изменить цвет кнопки при наведении на нее курсора мыши?

Нажатие кнопки мыши при наведении на определенный цвет
Здравствуйте,как сделать что бы мышка кликала левой кнопкой мыши при наведение на определенный цвет(допустим красный),нужно сделать что бы...

Изменить цвет элемента в меню при наведении мыши
При наведении необходимо поменять стандартное подсвечивание элемента: &lt;Menu Height=&quot;54&quot; Width=&quot;1056&quot;...

1
2380 / 449 / 116
Регистрация: 26.09.2020
Сообщений: 833
05.03.2025, 00:15
tregfyudgyfewhu, а через шаблон (ControlTemplate):
XML Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<Window
    x:Class="_3200695.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:av="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="av"
    Title="MainWindow" Height="100" Width="280">
 
    <Window.Resources>
        <ControlTemplate x:Key="RedButtonTemplate" TargetType="Button">
            <Border x:Name="border" Background="LightGray">
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter TargetName="border" Property="Background" Value="Crimson"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
 
        <Style x:Key="RedButtonStyle" TargetType="{x:Type Button}">
            <Setter Property="Template" Value="{StaticResource RedButtonTemplate}"/>
            <Setter Property="Cursor" Value="Hand"/>
            <Setter Property="Foreground" Value="Black"></Setter>
            <Setter Property="Margin" Value="10"/>
            <Setter Property="FontSize" Value="20"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="White"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
 
    <Grid>
        <Button Style="{StaticResource RedButtonStyle}" Content="Наведи на меня"/>
    </Grid>
</Window>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2025, 00:15
Помогаю со студенческими работами здесь

Изменить цвет выделения кнопок при наведении мыши
Подскажите как изменить цвет выделения кнопок при наведении мыши в приложении WPF???

Как изменить цвет label при наведении на него мыши?
Как изменить цвет label при наведении на него мыши??? Заранее очень благодарен!

Указать в XAML цвет кнопки при наведении указателя мыши
Добрый день. Недавно начал осваивать WPF - штука очень удобная (разделение UI и логики), но после WinForms въехать в неё тяжеловато. Суть...

Изменить цвет кнопки при наведении на нее
Изучать WPF начал буквально часа 2 назад, мало что знаю :( При наведении на кнопку она цвет меняет, но не на тот который мне нужен. ...

Как изменить цвет кнопки при наведении?
Сейчас у меня стоит стиль кнопки: flat При наведении цвет меняется на серый, но я это нигде не указывал. Можно сделать чтобы он не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
Микросервис на Python с FastAPI и Docker
ArchitectMsa 23.04.2025
В эпоху облачных вычислений и растущей сложности программных продуктов классическая монолитная архитектура всё чаще уступает место новым подходам. Микросервисная архитектура становится фаворитом. . .
Создаем веб-приложение на Vue.js и Laravel
Reangularity 23.04.2025
Выбор правильного технологического стека определяет успех веб-проекта. Laravel и Vue. js формируют отличную комбинацию для создания современных приложений. Laravel — это PHP-фреймворк с элегантным. . .
Максимальная производительность C#: Span<T> и Memory<T>
stackOverflow 22.04.2025
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C#. . .
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер