2011-08-22 7 views
0

나는 Rectangle (또는 그 문제에 대한 UserControl)을 그리드에 주어진 경계 위에 놓으려고합니다.그리드 항목이 그리드 위에 겹치도록 허용 하시겠습니까?

3X3 항목이있는 격자가 구성되었습니다. 이 항목은 마우스로 가리키면 크기를 2 배 늘려야합니다. 그러나 항목에 특정 경계가 지정되었으므로 (실제로 열과 행의 구성원 인 것처럼) 경계가 겹치지 않습니다.

어떻게하면됩니까?

답변

1

이 경우 그리드를 사용하는 것이 가장 좋은 방법은 아닙니다. 캔버스 또는 랩 패널을 사용하는 것이 좋습니다. WPF layout system이 작동하는 방식 (정렬/측정)으로 인해 요소는 일반적으로 경계를 넘을 수 없습니다.

또는 요소 'RenderTransform 속성에 ScaleTransform을 사용하면 트릭을 수행 할 수 있습니다. 변환에 대한 자세한 내용은 this article을 확인하십시오.

0

아마도 선택한 항목 (또는 마우스로 가리킨 항목)을 꾸미려고합니다. 스타일 작성 (트리거 사용) 또는 아도너를 생각해 볼 수 있습니다.

업데이트 : '바스'에서 포인터를 촬영, 난 그냥이 시도 :

<Button Content="ABC"> 
     <Button.Style> 
      <Style TargetType="{x:Type Button}"> 
       <Style.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Setter Property="LayoutTransform" > 
          <Setter.Value> 
           <ScaleTransform ScaleX="2" ScaleY="2" /> 
          </Setter.Value> 
         </Setter> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 

이 꽤 괜찮 작동합니다.