나는 Rectangle (또는 그 문제에 대한 UserControl)을 그리드에 주어진 경계 위에 놓으려고합니다.그리드 항목이 그리드 위에 겹치도록 허용 하시겠습니까?
3X3 항목이있는 격자가 구성되었습니다. 이 항목은 마우스로 가리키면 크기를 2 배 늘려야합니다. 그러나 항목에 특정 경계가 지정되었으므로 (실제로 열과 행의 구성원 인 것처럼) 경계가 겹치지 않습니다.
어떻게하면됩니까?
나는 Rectangle (또는 그 문제에 대한 UserControl)을 그리드에 주어진 경계 위에 놓으려고합니다.그리드 항목이 그리드 위에 겹치도록 허용 하시겠습니까?
3X3 항목이있는 격자가 구성되었습니다. 이 항목은 마우스로 가리키면 크기를 2 배 늘려야합니다. 그러나 항목에 특정 경계가 지정되었으므로 (실제로 열과 행의 구성원 인 것처럼) 경계가 겹치지 않습니다.
어떻게하면됩니까?
이 경우 그리드를 사용하는 것이 가장 좋은 방법은 아닙니다. 캔버스 또는 랩 패널을 사용하는 것이 좋습니다. WPF layout system이 작동하는 방식 (정렬/측정)으로 인해 요소는 일반적으로 경계를 넘을 수 없습니다.
또는 요소 'RenderTransform
속성에 ScaleTransform
을 사용하면 트릭을 수행 할 수 있습니다. 변환에 대한 자세한 내용은 this article을 확인하십시오.
아마도 선택한 항목 (또는 마우스로 가리킨 항목)을 꾸미려고합니다. 스타일 작성 (트리거 사용) 또는 아도너를 생각해 볼 수 있습니다.
업데이트 : '바스'에서 포인터를 촬영, 난 그냥이 시도 :
이<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>
이 꽤 괜찮 작동합니다.