WPF Grid有一个“IsMouseOver”属性,您可以在Grid的样式的触发器中使用该属性。WPF Grid IsMouseOver属性
我的问题是,“IsMouseOver”属性只会改变,如果鼠标是在网格内的一些控制(即一个按钮,或组合框)。
例如:
<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>
以上电网和它的内容将在半透明度来显示,这样就可以看到控件。
您会注意到,如果您将鼠标悬停在第一列(不包含任何内容)上,则不透明度将会设置为而不是。
但是,如果你将鼠标悬停在第二栏按钮透明度将被设置为全。
在我的应用程序中,我设置触发器的网格显示在图像控件的顶部。我不希望在鼠标悬停在图像上之前显示网格...换句话说,由于网格位于图像的顶部,我不希望网格显示直到鼠标悬停在上方网格(网格中的任何位置),因为网格位于图像的顶部。
有谁知道如何做到这一点?
谢谢!
-Frinny
非常感谢您的回复! – Frinavale 2011-03-22 20:21:19