c# - 当 wpf 中有焦点时更改按钮的背景

标签 c# wpf button

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

<Button Width="75" Height="25" Margin="6" Background="Blue"/>

当按钮获得焦点时,颜色会变为白色和我的颜色。

如何将这种白色设置为另一种颜色?

最佳答案

我相信您的问题是由 Button 控件的默认 ControlTemplate 引起的。您描述的颜色动画在此 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>

关于c# - 当 wpf 中有焦点时更改按钮的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949742/

相关文章:

c# 控件在屏幕上的绝对位置

c# - 监控击键

c# - CA2213 代码分析规则和自动实现的属性

c# - C# WPF 代码隐藏中的按钮处理程序

左侧的 CSS 按钮不可点击

javascript - 按钮只显示图像一次?

c# - servicestack GlobalRequestFilters 请求 Dto 为 null

c# - 隐藏 DockPanel 中的元素并调整大小

wpf - MouseEnter 事件可以/应该冒泡吗?

.net - DisplaySettingsChanging 上的 WPF 互操作死锁