Кнопка со странным фоном закончилась?

Я использую это Button:

<Button Name = "buttonAttiva"
        HorizontalAlignment = "Center"
        VerticalAlignment = "Top"
        Margin = "0,560,0,0">
    <TextBlock Text = "Attiva" />

Это стиль:

<Style TargetType = "{x:Type Button}"
       BasedOn = "{StaticResource MahApps.Styles.Button}">
    <Setter Property = "HorizontalAlignment"
            Value = "Left" />
    <Setter Property = "VerticalAlignment"
            Value = "Top" />
    <Setter Property = "Width"
            Value = "150" />
    <Setter Property = "Height"
            Value = "46" />
    <Setter Property = "BorderThickness"
            Value = "0" />
    <Setter Property = "BorderBrush"
            Value = "Transparent" />
    <Setter Property = "Background"
            Value = "#81b3d4" />
    <Setter Property = "Foreground"
            Value = "#ffffff" />
    <Setter Property = "FontWeight"
            Value = "Bold" />
    <Setter Property = "FontSize"
            Value = "18" />
    <Setter Property = "VerticalContentAlignment"
            Value = "Center" />
    <Setter Property = "FontWeight"
            Value = "Bold" />
    <Setter Property = "FocusVisualStyle"
            Value = "{x:Null}" />
    <Setter Property = "controls:ControlsHelper.MouseOverBorderBrush"
            Value = "#000000" />
    <Setter Property = "controls:ControlsHelper.FocusBorderBrush"
            Value = "#000000" />
    <Setter Property = "controls:ControlsHelper.FocusBorderThickness"
            Value = "0" />
    <Style.Resources>
        <SolidColorBrush x:Key = "MahApps.Brushes.Gray7"
                         Color = "#000000" />
        <SolidColorBrush x:Key = "MahApps.Brushes.Gray8"
                         Color = "#000000" />
    </Style.Resources>
    <Style.Triggers>
        <Trigger Property = "IsFocused"
                 Value = "True">
            <Setter Property = "Background"
                    Value = "#000000" />
            <Setter Property = "BorderThickness"
                    Value = "0" />
            <Setter Property = "BorderBrush"
                    Value = "#000000" />
        </Trigger>
        <Trigger Property = "IsMouseOver"
                 Value = "True">
            <Setter Property = "Background"
                    Value = "#000000" />
            <Setter Property = "BorderThickness"
                    Value = "0" />
            <Setter Property = "BorderBrush"
                    Value = "#000000" />
        </Trigger>
        <Trigger Property = "IsPressed"
                 Value = "True">
            <Setter Property = "Background"
                    Value = "#000000" />
            <Setter Property = "BorderThickness"
                    Value = "0" />
            <Setter Property = "BorderBrush"
                    Value = "#000000" />
        </Trigger>
    </Style.Triggers>
</Style>

Что правильно отображается как:

Но когда я навожу мышь, появляется странный «серый» фон:

Как установить правильный оранжевый фон?

Обратите внимание: я параллельно использую MahApps.Metro, который, я думаю, может переопределить некоторые свойства?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Переопределите ресурс MahApps.Brushes.Gray8, который используется в шаблоне:

<Style TargetType = "{x:Type Button}" BasedOn = "{StaticResource MahApps.Styles.Button}">
    <Style.Resources>
        <SolidColorBrush x:Key = "MahApps.Brushes.Gray8" Color = "Orange" />
    </Style.Resources>
...

Где я могу увидеть использованный MahApps.Brushes.Gray8? Итак, в будущем я смогу понять, откуда взялся/начался этот стиль?

markzzz 18.04.2024 17:31

Шаблоны по умолчанию вы найдете на GitHub.

mm8 18.04.2024 17:33

Да, но как в этом случае понять, что я использую именно это свойство? :O где установлено, что кнопка будет использовать ее (какое-то событие, которое я не знаю)? Не установит ли триггер/свойство новый цвет вместо перезаписи цветовой переменной?

markzzz 18.04.2024 18:57

заметьте, чувак: -1 это не мое, так сказать :)

markzzz 19.04.2024 09:21

в любом случае: теперь все в порядке, но когда я «нажимаю» на нее, я все еще вижу серый цвет. Пытался переопределить IsPressed, но безуспешно. Кроме того, после щелчка он, похоже, остается «выбранным», даже если это не кнопка переключения (она должна быть «IsClicked» только в тот момент, когда я нажимаю). Можете ли вы помочь и в этом?

markzzz 19.04.2024 13:51

Цвет «нажатия» определяется кистью MahApps.Brushes.Gray7, поэтому вам следует определить и этот цвет.

mm8 22.04.2024 15:20

Это работает, спасибо! Теперь, почему при нажатии, пока я не нажму на другую зону в приложении, оно остается «нажатым»?

markzzz 22.04.2024 15:24

Я не могу воспроизвести это на основе информации, которую вы опубликовали. В вашем вопросе есть Button, и он не «нажимается», когда вы отпускаете мышь.

mm8 22.04.2024 15:27

Я обновил вопрос, добавив полный стиль кнопки: как только я просто щелкаю мышью (так что мышь вниз/вверх, простой щелчок), она остается черной: O

markzzz 22.04.2024 15:42

Все равно не воспроизводимо. Попробуйте создать пустой проект и скопировать в него код, который вы здесь разместили, и вы поймете, что я имею в виду.

mm8 22.04.2024 16:40

Пока все в порядке. При необходимости я открою новый вопрос в будущем. Спасибо

markzzz 22.04.2024 16:58

Давайте продолжим обсуждение в чате.

markzzz 23.04.2024 14:53

Другие вопросы по теме