c# - 在鼠标悬停时更改矩形背景

标签 c# wpf

所以我有一个没有背景的矩形,当用户将鼠标悬停在它上面时,我想给它一个背景渐变,然后在鼠标离开矩形时移除渐变。

请有人可以发布为此所需的代码,并告诉我将其放在 .cs/xaml 文件中的什么位置?

谢谢。

最佳答案

这个:

<Rectangle Width="100" Height="100" StrokeThickness="1" Stroke="Black">
    <Rectangle.Style>
        <Style TargetType="{x:Type Rectangle}">
            <Setter Property="Fill" Value="Transparent" />
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Fill">
                        <Setter.Value>
                            <!-- Change ImageSource to what image you want to use -->
                            <ImageBrush ImageSource="C:/Users/Public/1.png" />
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Rectangle.Style>
</Rectangle>

(请注意,如果您在矩形本身上设置 Fill="Transparent",则触发器将工作,因为 dependency property value precedence)

关于c# - 在鼠标悬停时更改矩形背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6202323/

相关文章:

c# - MVVM WPF C# 自动属性组合框

c# - 使用跟踪监听器重定向所有调试输出

c# - Windows 设备门户中的 ETW 消息为空

c# - ClickOnce 在重新安装期间不替换 App_Data 文件

c# - 无法从 DragEventArgs 获取数据。 getData() 返回空值

c# - 使用绑定(bind)触发样式更改

c# - ICollection 作为参数 : Provide List or Array

c# - 从 EF Code First 迁移中删除表

c# - NetFramework 应用程序在同一解决方案中引用 NetFramework 库,在另一个解决方案中引用 NetStandard 库。 : could not load file or assembly

c# - 如果使用 VirtualStackPanel,WPF DataGrid 中的异常