此示例演示如何在事件发生时应用 ScaleTransform 。 此处显示的概念与用于应用其他类型的转换的概念相同。 有关可用转换类型的详细信息,请参阅 Transform 类或 转换概述。
可以通过以下两种方式之一将转换应用到元素:
如果 不希望 转换影响布局,请使用 RenderTransform 元素的属性。
如果确实希望转换影响布局,请使用 LayoutTransform 元素的属性。
以下示例将ScaleTransform应用到按钮的RenderTransform属性。 当鼠标在按钮上移动时,将ScaleTransform的ScaleX和ScaleY属性设置为2
,这会导致按钮变大。 当鼠标移开按钮时,将ScaleX和ScaleY设置为1
,这会导致按钮恢复到其原始大小。
示例:
<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