C# WPF 样式 : One Button Mouseover - One Button keep Image

标签 c# button styles mouseover mpf

我有 2 个按钮,其中一个应该在鼠标悬停时更改背景颜色。 另一个应该在鼠标悬停时保留他的背景图像。

我的问题是第二个也有鼠标悬停效果,图像被覆盖:(

    <Window.Resources>
      <Style x:Key="hover" TargetType="Button">
        <Setter Property="Background" Value="#FF2598CE" />
        <Style.Triggers>
             <Trigger Property="IsMouseOver" Value="True">
                 <Setter Property="Background" Value="#FF24779D" />
             </Trigger>
        </Style.Triggers>
      </Style>
    </Window.Resources>

1.按钮

<Button Content="0" Name="num0" Foreground="White" Background="#FF2598CE" BorderBrush="#FF24779D" Style="{StaticResource hover}" />

2.按钮

<Button Content="" Name="up" BorderBrush="#FF24779D">
    <Button.Background>
       <ImageBrush ImageSource="/Rechner;component/Images/btn_up.jpg" />
    </Button.Background>
</Button>

谢谢你的帮助

最佳答案

第二个按钮的默认模板意味着它的行为类似于 Windows 按钮(例如,鼠标悬停时不显示背景图像)。您可能需要提供自己的模板。

另一个question里面有很好的解释这可能会帮助您入门。

This也可能有帮助。

我可能会做这样的事情:

<Button Content="" Name="up" Template="{DynamicResource BackgroundButton}" >
        <Button.Background>
            <ImageBrush ImageSource="image.png" />
        </Button.Background>
        <Button.Resources>
            <ControlTemplate x:Key="BackgroundButton" TargetType="Button">
                <Border Name="border" BorderThickness="1" BorderBrush="Black" Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" TargetName="border">
                            <Setter.Value>
                                <ImageBrush ImageSource="image.png" Opacity="0.5" />
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Button.Resources>
    </Button>

关于C# WPF 样式 : One Button Mouseover - One Button keep Image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18262990/

相关文章:

java - 按钮代码使应用崩溃(重复)

CSS:如何创建与 iOS 图标类似的反光按钮?

Jquery 代码在不应该返回 true 时返回

android:style 不适用于 xml 布局

c# - 使用 T4 生成 WMAppManifest.xml

c# - 任务 ContinueWith 行为中的异步?

c# - 文本框asp.net中用户输入的自动日期格式

android - 带有图像和文本的按钮,放置图像的方式

Leaflet.draw 风格在 react 组件中困惑

c# - 如何在 xUnit 中设置测试优先级以及基于优先级运行选择性测试