如何:在事件发生时向元素应用变换
本示例演示事件发生时如何应用 ScaleTransform。 此处说明的概念与您用于应用其他类型的变换的概念相同。 有关可用变换类型的更多信息,请参见 Transform 类或变换概述。
您可以通过以下两种方式向元素应用变换:
如果您不希望变换影响布局,请使用该元素的 RenderTransform 属性。
如果您希望变换影响布局,请使用该元素的 LayoutTransform 属性。
下面的示例将 ScaleTransform 应用于按钮的 RenderTransform 属性。 当鼠标移动到该按钮时,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;
}
}