方法 : イベントの発生時に要素に変換を適用する
この例では、イベントの発生時に ScaleTransform を適用する方法を示します。 ここで示される概念は、他の種類の変換を適用する場合に使用するものと同じです。 使用可能な変換の種類の詳細については、Transform クラスまたは「変換の概要」を参照してください。
要素に変換を適用するには、次の 2 つの方法があります。
変換がレイアウトに影響しないようにする場合は、要素の RenderTransform プロパティを使用します。
変換がレイアウトに影響するようにする場合は、要素の LayoutTransform プロパティを使用します。
次の例では、ボタンの RenderTransform プロパティに ScaleTransform を適用しています。 マウスをボタンの上に移動すると、ScaleTransform の ScaleX プロパティと ScaleY プロパティが 2 に設定され、ボタンが大きくなります。 マウスがボタンから離れると、ScaleX と ScaleY が 1 に設定され、ボタンは元のサイズに戻ります。
使用例
<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>
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
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;
}
}