Установка фона кнопки переключения в зависимости от ее состояния - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь сделать цвет фона кнопки переключения прозрачным, если isChecked = true или false и если мышь находится над элементом управления. Так сказать, при любых обстоятельствах.

Это то, что я пытался в последний раз:

<ToggleButton DockPanel.Dock="Right" Width="48" IsChecked="{Binding DownloadImages}">
<ToggleButton.Style>
    <Style TargetType="{x:Type ToggleButton}">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Background" Value="Aqua"/>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Background" Value="Red"/>
            </Trigger>
            <DataTrigger Binding="{Binding DownloadImages}" Value="True">
                <Setter Property="Background" Value="Green"/>
                <Setter Property="Content">
                    <Setter.Value>
                        <Image Style="{StaticResource ToggleOnImage}" />
                    </Setter.Value>
                </Setter>
            </DataTrigger>
            <DataTrigger Binding="{Binding DownloadImages}" Value="False">
                <Setter Property="Background" Value="Blue"/>
                <Setter Property="Content">
                    <Setter.Value>
                       <Image Style="{StaticResource ToggleOffImage}" />
                    </Setter.Value>
                </Setter>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ToggleButton.Style>

К сожалению, это дает следующий результат:

Only the blue bg settings works

Это показывает, что работает только установщик синего фона. Изображения меняются правильно, только фон состояния «Вкл.» И MouseOver остается темным windows в стиле синего цвета.

Вы понимаете, что я делаю неправильно?

...