Цель: Когда мышь закончена на кнопке затем, высота кнопок должна стать двойной, и кнопка должна быть отображена сверх других средств управления. Средства управления могут присутствовать в 'N'number панелей на экране.
Я использую 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. Панель. ZIndex не работает над двумя различными Сетками.
Сообщите мне, как решить эту проблему.
Похоже, что проблема в том, что Grid 1 находится позади Grid 2. Если они оба являются дочерними элементами одной основной сетки, то вы можете использовать тот же трюк, который вы используете для Button, и установить ZIndex сетки на 99999, когда мышь находится над ней:
<Style TargetType="Grid">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Panel.ZIndex" Value="99999"/>
</Trigger>
</Style.Triggers>
</Style>