当它具有焦点时,在wpf中更改按钮的backgorund

moh*_*mad 2 c# wpf button

我有一个按钮,我想改变按钮的背景颜色.但是当我将background属性设置为蓝色时:

<Button Width="75" Height="25" Margin="6" Background="Blue"/>
Run Code Online (Sandbox Code Playgroud)

当按钮具有焦点时,颜色会变为白色和我的颜色.

如何将此白色设置为其他颜色?

She*_*dan 6

我相信,你的问题是由默认引起ControlTemplateButton控制.您描述的颜色动画在此定义ControlTemplate,因此您需要提供自己的颜色动画ControlTemplate以消除此行为:

<Button Content="Click Me" Background="Blue">
    <Button.Template>
        <ControlTemplate TargetType="{x:Type Button}">
            <Border Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
                <ContentPresenter Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Margin="{TemplateBinding Padding}" />
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="Button.IsFocused" Value="True">
                    <Setter TargetName="Border" Property="Background" Value="White" />
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Button.Template>
</Button>
Run Code Online (Sandbox Code Playgroud)