Como: Aplicar uma transformação a um elemento quando ocorre um evento
Este exemplo mostra como aplicar um ScaleTransform quando ocorre um evento. O conceito que é mostrado aqui é o mesmo que você usa para aplicar outros tipos de transformações. Para obter mais informações sobre os tipos de transformações disponíveis, consulte a classe Transform ou Visão geral das transformações.
Você pode aplicar uma transformação a um elemento de uma destas duas maneiras:
Se você não quiser que a transformação afete o layout, use a propriedade RenderTransform do elemento .
Se desejar que a transformação afete o layout, use a propriedade LayoutTransform do elemento.
O exemplo a seguir aplica um ScaleTransform à propriedade RenderTransform de um botão. Quando o mouse se move sobre o botão, as propriedades ScaleX e ScaleY do ScaleTransform são definidas como 2
, o que faz com que o botão se torne maior. Quando o mouse se move para fora do botão, ScaleX e ScaleY são definidos como 1
, o que faz com que o botão retorne ao seu tamanho original.
Exemplo
<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
Ver também
- Transform
- ScaleTransform
- Visão geral do Transforms
- Tópicos de instruções
- Visão geral de eventos roteados
.NET Desktop feedback