IT/AIを活用して
スモールビジネスを活性化
ビジネスオーナーはITで頑張っちゃいけない!
HP、LP、AI、SNS攻略、顧客導線作りはひとりで抱えず
ユルっとサクっと共創しましょう!
XAML

XAMLで変換の入れ子(ネスト)はできるの?

WPFにおける開発でGeometry変換に対する入れ子(ネスト)はGeometryGroupを入れ子にすることで可能なことは知っていました。

GeometryGroup
┗ GeometryGroup
┃  ┗ Geometry
┃  ┗ TranferGroup
┃      ┣ TranslateTransform
┃      ┣ ScaleTransform
┃      ┗ RotateTransform
┗ GeometryGroup
    ┗ TranferGroup
        ┣ TranslateTransform
        ┣ ScaleTransform
        ┗ RotateTransform

(それぞれChildrenやTranferに加えています)

最上位のGeometryGroupでは全ての変換が行われた結果がみることができます。

では同じことをXAMLで表現するにはどうしたらいいのでしょう?

XAMLでは<RenderTransfer>を利用し、各変換を同時に行うには<TranslateTransform><ScaleTransform><RotateTransform>を利用します。
例えばCanvas内で変換するには

<Canvas.RenderTransform>
    <TransformGroup>
        <ScaleTransform />
    </TransformGroup>
</Canvas.RenderTransform>

となります。

変換を入れ子にするにはTransferGroupを重ねればいいので

<Canvas.RenderTransform>
    <TransformGroup>
        <TransformGroup>
            <ScaleTransform /> <!-- VolumeSliderなどに連動 --/>
        </TransformGroup>
        <TransformGroup>
            <ScaleTransform ScaleY="-1"/> <!-- -->
        </TransformGroup>
    </TransformGroup>
</Canvas.RenderTransform>

このようにすると一か所で拡大縮小と座標反転がおこなえるようになります。

ABOUT ME
Nozomu.Kon
集客導線、SNS導線、広告数値自動取得、LP/HP/CSS、ファネルツールなどなど個人・法人のスモールビジネスをIT/AIのチカラでフルサポートしています。