Панель. ZIndex не работает над двумя различными Сетками

Цель: Когда мышь закончена на кнопке затем, высота кнопок должна стать двойной, и кнопка должна быть отображена сверх других средств управления. Средства управления могут присутствовать в '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 не работает над двумя различными Сетками.

Сообщите мне, как решить эту проблему.

1
задан ksvimal 4 August 2010 в 03:03
поделиться

1 ответ

Похоже, что проблема в том, что 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>
2
ответ дан 2 September 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: