Procedura: applicare una trasformazione a un elemento quando si verifica un evento
In questo esempio viene illustrato come applicare un ScaleTransform oggetto quando si verifica un evento. Il concetto illustrato è identico a quello usato per applicare altri tipi di trasformazioni. Per altre informazioni sui tipi di trasformazioni disponibili, vedere la panoramica della Transform classe o delle trasformazioni.
È possibile applicare una trasformazione a un elemento in uno dei due modi seguenti:
Se non si desidera che la trasformazione influisca sul layout, utilizzare la RenderTransform proprietà dell'elemento .
Se si desidera che la trasformazione influisca sul layout, utilizzare la LayoutTransform proprietà dell'elemento .
Nell'esempio seguente viene applicato un oggetto ScaleTransform alla RenderTransform proprietà di un pulsante. Quando il mouse si sposta sul pulsante, le ScaleX proprietà e ScaleY di ScaleTransform sono impostate su 2
, il che fa sì che il pulsante diventi più grande. Quando il mouse si sposta fuori dal pulsante ScaleX e ScaleY viene impostato su 1
, che fa sì che il pulsante torni alle dimensioni originali.
Esempio
<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
Vedi anche
.NET Desktop feedback