2013-08-27 5 views
2

WPF에서 캔버스의 아래쪽에 배치 된 타원이 있습니다. 캔버스에 몇 가지 변형을 적용하면 타원이 사라집니다. WPF 및 변환의 세계에 새로운 있습니다. 안내해주십시오.변형에 관계없이 타원 위치를 고정하는 방법은 무엇입니까?

<Grid> 
     <Canvas Width="200" Height="200" Background="LightBlue"> 
     <Canvas.RenderTransform> 
      <TransformGroup> 
       <MatrixTransform> 
        <MatrixTransform.Matrix> 
        <Matrix M11="45.062" M22="-45.062" OffsetX="13.625" OffsetY="131.499" /> 
        </MatrixTransform.Matrix> 
       </MatrixTransform> 
      </TransformGroup> 
     </Canvas.RenderTransform> 
     <Ellipse Canvas.ZIndex="5" RenderTransformOrigin="0,0" Width="100" Height="100" Canvas.Bottom="0" Canvas.Left="0" Fill="Red" /> 
     </Canvas> 
    </Grid> 
+0

MSDN의 [Transforms Overview] (http://msdn.microsoft.com/en-US/library/ms750596.aspx)에 자세히 설명되어 있습니다. – Clemens

+0

@Clemens, 예. 기사를 살펴본 결과, 그 방향으로 명확한 방향을 찾지 못했습니다. –

답변

1

당신이 타원이, 변환 캔버스에서 제거되지하려면 다음과 같이

내 XAML입니다. 캔버스 (Canvas)의 자식이기 때문에 변형되어 있으므로 변환됩니다. 또는 타원에 변형을 적용하여 부모 Transform을 취소 할 수 있지만 그렇게해야하는 것보다 훨씬 많은 작업이 필요합니다.

+0

변환 후에도 타원이 캔버스의 정확한 위치에 있도록하고 싶습니다. 내가 외부에 두어 여전히 캔버스의 같은 위치에서 변환되도록 할 수 있습니까? –

+0

타원을 항상 별도의 컨테이너에 넣을 수 있으므로 변환이있는 캔버스의 "앞에"표시됩니다. 그렇게하면 타원이 같은 위치에 머무르는 동안 캔바스가 변형 될 수 있습니다. – Nick

관련 문제