2010-07-29 1 views
1

목표 : 마우스가 버튼 위에있을 때 버튼 높이가 두 배가되고 버튼이 다른 컨트롤 위에 표시되어야합니다. 컨트롤은 화면의 'N'개의 패널에 나타날 수 있습니다.Panel.ZIndex가 두 개의 서로 다른 그리드에서 작동하지 않습니다

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에있는 파란색 버튼 위에 있지 않습니다 다른 그리드.

이 문제를 해결하는 방법을 알려주세요.

답변

1

그리드 1이 그리드 2 뒤에 있음을 알 수 있습니다. 두 그리드가 동일한 메인 그리드의 자식이라면 버튼과 동일한 트릭을 사용하고 그리드의 ZIndex를 99999로 설정할 수 있습니다 마우스가 위에있을 때 :

<Style TargetType="Grid"> 
    <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="True"> 
      <Setter Property="Panel.ZIndex" Value="99999"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 
+0

의견을 보내 주셔서 감사합니다. :-) – ksvimal