Aracılığıyla paylaş


Nasıl yapılır: Bir Olay Oluştuğunda Öğeye Dönüşüm Uygulama

Bu örnekte, bir olay gerçekleştiğinde nasıl ScaleTransform uygulanacağı gösterilmektedir. Burada gösterilen kavram, diğer dönüştürme türlerini uygulamak için kullandığınız kavramla aynıdır. Kullanılabilir dönüştürme türleri hakkında daha fazla bilgi için sınıfa veya Dönüşümlere Genel Bakış'a bakınTransform.

Bir öğeye dönüştürmeyi şu iki yoldan biriyle uygulayabilirsiniz:

  • Dönüşümün düzeni etkilemesini istemiyorsanız öğesinin RenderTransform özelliğini kullanın.

  • Dönüşümün düzeni etkilemesini istiyorsanız öğesinin LayoutTransform özelliğini kullanın.

Aşağıdaki örnek, ScaleTransform bir düğmenin RenderTransform özelliğine bir uygular. Fare düğmenin üzerine geldiğinde ve ScaleXScaleY özellikleri ScaleTransform olarak ayarlanır 2ve bu da düğmenin daha büyük olmasına neden olur. Fare düğmenin dışına çıktığında ve ScaleY olarak ayarlandığında1, ScaleX düğmenin özgün boyutuna dönmesine neden olur.

Örnek

<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

Ayrıca bkz.