次の方法で共有


方法: イベントが発生したときに要素に変換を適用する

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

次の 2 つの方法のいずれかで、要素に変換を適用できます。

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

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

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

<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WCSample.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>


  </Canvas>
</Page>
public partial class TransformExample : Page {
  private void Enter(object sender, MouseEventArgs args) {
      myScaleTransform.ScaleX = 2;
      myScaleTransform.ScaleY = 2;
  }

  private void Leave(object sender, MouseEventArgs args) {
      myScaleTransform.ScaleX = 1;
      myScaleTransform.ScaleY = 1;
  }
}
Partial Public Class TransformExample
    Inherits Page
    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
End Class

参照