目的: 当鼠标在按钮上时,按钮高度应该变为两倍,按钮应显示在其他控件的顶部。控件可以出现在屏幕中“N”个面板中。
我正在使用VS 2010,我有一个主网格有2行。每行有2个网格。每个网格都有按钮。例如,网格1黄色具有颜色按钮,网格2具有蓝色按钮。我为按钮编写了以下样式。
<Style TargetType="{x:Type Buttons}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1" ScaleY="2" />
</Setter.Value>
</Setter>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Panel.ZIndex" Value="99999"/>
</Trigger>
</Style.Triggers>
</Style>
问题:当鼠标在网格1中的黄色按钮上时,但是黄色按钮不在网格2上的蓝色按钮上方.Panel.ZIndex不在两个不同的网格上工作。
请让我知道如何解决这个问题。
答案 0 :(得分:2)
听起来问题是网格1落后于网格2.如果它们都是同一主网格的子节点,那么你可以使用你用于Button的相同技巧并将网格的ZIndex设置为99999鼠标在它上面:
<Style TargetType="Grid">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Panel.ZIndex" Value="99999"/>
</Trigger>
</Style.Triggers>
</Style>