gpt4 book ai didi

wpf - WPF网格IsMouseOver属性

转载 作者:行者123 更新时间:2023-12-03 14:35:00 25 4
gpt4 key购买 nike

WPF Grid具有一个“ IsMouseOver”属性,您可以在网格样式的触发器中使用它。

我的问题是,“ IsMouseOver”属性仅在鼠标位于网格本身内的某些控件(例如,按钮或ComboBox)上时才会更改。

例如:

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition />
</Grid.ColumnDefinitions>

<Button Grid.Column="1">A Button</Button>

<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Opacity" Value="0.5"></Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="1"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>


上面的网格及其内容将以半透明显示,以便您可以看到控件。

您将注意到,如果将鼠标悬停在第一列(不包含任何内容)上,则不透明度不会设置为完全。

但是,如果将鼠标悬停在第二列中的按钮上,则不透明度将设置为完全。

在我的应用程序中,正在设置触发器的网格显示在图像控件的顶部。我不希望在鼠标悬停在图像上方之前显示网格...换句话说,由于网格在图像上方,所以我不希望在鼠标悬停于图像上方显示网格网格(网格中的任何位置),因为网格位于图像顶部。

有谁知道如何做到这一点?

谢谢!

-弗林尼

最佳答案

您的问题是Grid本身是不可测试的,因为它没有背景。尝试以下方法:

<Grid Background="Transparent">

关于wpf - WPF网格IsMouseOver属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com