如何:在事件发生时向元素应用变换

更新:2007 年 11 月

本示例演示事件发生时如何应用 ScaleTransform。此处说明的概念与您用于应用其他类型的变换的概念相同。有关可用变换类型的更多信息,请参见 Transform 类或变换概述

您可以通过以下两种方式向元素应用变换:

  • 如果您不希望变换影响布局,请使用该元素的 RenderTransform 属性。

  • 如果您希望变换影响布局,请使用该元素的 LayoutTransform 属性。

下面的示例将 ScaleTransform 应用于按钮的 RenderTransform 属性。当鼠标移动到该按钮时,ScaleTransformScaleXScaleY 属性将被设置为 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

其他资源

变换帮助主题