次の方法で共有


方法 : イベントの発生時に要素に変換を適用する

更新 : 2007 年 11 月

この例では、イベントの発生時に ScaleTransform を適用する方法を示します。ここで示される概念は、他の種類の変換を適用する場合に使用するものと同じです。使用可能な変換の種類の詳細については、Transform クラスまたは「変換の概要」を参照してください。

要素に変換を適用するには、次の 2 つの方法があります。

  • 変換がレイアウトに影響しないようにする場合は、要素の RenderTransform プロパティを使用します。

  • 変換がレイアウトに影響するようにする場合は、要素の LayoutTransform プロパティを使用します。

次の例では、ボタンの RenderTransform プロパティに ScaleTransform を適用しています。マウスをボタンの上に移動すると、ScaleTransformScaleX プロパティと ScaleY プロパティが 2 に設定され、ボタンが大きくなります。マウスがボタンから離れると、ScaleXScaleY が 1 に設定され、ボタンは元のサイズに戻ります。

使用例

<Page  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="TransformExample"
  WindowTitle="Transform on Mouse Enter Example">
  <Canvas Width="400" Height="400">

    <Button Name="Button1" MouseEnter="Enter" MouseLeave="Leave">
      <Button.RenderTransform>
        <ScaleTransform x:Name="myScaleTransform" ScaleX="1" ScaleY="1" />
      </Button.RenderTransform>
      Button
    </Button>

    <x:Code>
    <![CDATA[
      Private Sub Enter(ByVal sender as object, ByVal args as System.Windows.Input.MouseEventArgs)
        myScaleTransform.ScaleX = 2
        myScaleTransform.ScaleY = 2
      End Sub

      Private Sub Leave(ByVal sender as object, ByVal e as System.Windows.Input.MouseEventArgs)
        myScaleTransform.ScaleX = 1
        myScaleTransform.ScaleY = 1
      End Sub

    ]]>
    </x:Code>

  </Canvas>
</Page>

参照

概念

変換の概要

ルーティング イベントの概要

参照

Transform

ScaleTransform

その他の技術情報

変換に関する方法のトピック