2013-10-10 9 views
0

도와주세요. 나는이 있습니다XAML에서 도형을 그룹화하는 방법?

<Grid HorizontalAlignment="Center" VerticalAlignment="Center"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="50"/> 
     <RowDefinition Height="50"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="50"/> 
     <ColumnDefinition Width="50"/> 
    </Grid.ColumnDefinitions> 
    <Rectangle x:Name="MyObject" Fill="Red" ManipulationDelta="Object_ManipulationDelta" Height="80" Width="80" ManipulationMode="All"> 
     <Rectangle.RenderTransform> 
      <CompositeTransform/> 
     </Rectangle.RenderTransform> 
    </Rectangle> 
    <Rectangle Fill="Blue" Grid.Row="1"> 
     <Rectangle.RenderTransform> 
      <CompositeTransform/> 
     </Rectangle.RenderTransform> 
    </Rectangle> 
    <Rectangle Fill="Green" Grid.Column="1"/> 
    <Rectangle Fill="Yellow" Grid.Row="1" Grid.Column="1"/> 
</Grid> 

을 그리고 기능을 드러그 경우 요소의 위치를 ​​변경 Object_ManipulationDelta 있습니다.

  1. 그래서, 내가 어떻게 할 수있는 그룹의 모든 사각형 (또는 그 중 일부, 배열 등) 및 그 중 하나를 드래그하면 위치 변경 전체 그룹에 대한 하나 개의 함수 Object_ManipulationDelta를 사용할 수 있습니까? 함수에서는 obj에 대해 var obj = (CompositeTransform)MyObject.RenderTransformTranslateX (및 Y)을 사용합니다.
  2. 각 사각형 뒤에 <Rectangle.RenderTransform...을 쓰지 않는 방법이 있습니까?

답변

1

x : Name = "name"을 사용하여 코드 샘플에서 언급 한 전체 Grid의 이름을 지정하고이 Grid에 변환을 적용하십시오. 또는 중첩 된 표제에서 대상 사각형 만 그룹화하고 변환을 적용 할 수 있습니다.

0

그리드와 같은 패널은 그룹화 작업을 수행 할 수 있습니다. 그리드에도 ManipulationDelta 이벤트가 있습니다. 중복 된 복합 변환이 사각형을 포함하는 표로 이동하지 않도록하십시오.

관련 문제