wpf - 禁用切换按钮选择颜色

标签 wpf xaml

如何阻止我的 ToggleButton 在悬停或按下时改变其颜色?它不断获取 Windows 对这些事件的选择颜色。我尝试明确设置前景色和背景色,但没有帮助。

<ToggleButton 
    Canvas.Left="20" Canvas.Top="20"
    Width="200" Height="150"
    BorderBrush="Red" BorderThickness="5">
Click Me
</ToggleButton>

启动应用程序后,颜色由我定义:

enter image description here

鼠标单击时颜色变为蓝色:

enter image description here

最佳答案

感谢 ASh 的提示,我在 google 上搜索了如何更改按钮的 controltemplate 样式,现在它工作正常(此代码直接添加到 ToggleButton 元素中):

<ToggleButton.Style>
    <Style TargetType="{x:Type ToggleButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ToggleButton">
                    <Border BorderThickness="5" BorderBrush="Red" Background="Gray">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="IsChecked" Value="True">
                <Setter Property="Background" Value="White" />
            </Trigger>
        </Style.Triggers>
    </Style>
</ToggleButton.Style>

关于wpf - 禁用切换按钮选择颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45964278/

相关文章:

c# - 如何在 WPF 中将数据临时存储在我的本地计算机上

c# - 我需要使用 MVVM 导航到另一个包含 WPF 中父对象的子对象的 View

xaml - Xamarin TabbedPages MVVM 绑定(bind)

c# - WPF 数据绑定(bind)困惑

C# WPF ContentPresenter MenuItem TextAlignment

c# - 将 INotifyPropertyChanged 与包含复选框的 WPF TreeView 一起使用时防止无限循环

c# - 运动起点/终点检测

c# - Windows 10 ScrollIntoView() 没有滚动到 ListView 中间的项目

xaml - 如何从一个模型显示但保存到另一个模型

c# - 如何将 "click"处理程序添加到作为控件模板一部分的按钮?