0

お願い助けて。私はこれを持っています:

<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. では、すべての Rectangle (またはそれらの一部; 配列など) をObject_ManipulationDeltaグループ化し、それらの 1 つがドラッグされた場合にグループ全体の位置を変更するために 1 つの関数を使用するにはどうすればよいでしょうか? 関数では、これを使用します: var obj = (CompositeTransform)MyObject.RenderTransformand TranslateX(および Y) を obj に使用します。
  2. <Rectangle.RenderTransform...各長方形の後に書かない方法はありますか?
4

2 に答える 2

1

x:Name="name" を使用して、コード サンプルで言及したグリッド全体に名前を付け、このグリッドに変換を適用するだけです。または、ネストされたグリッドでターゲットの四角形のみをグループ化し、それに変換を適用します。

于 2013-10-10T19:00:15.737 に答える