Nasıl yapılır: Olayları Kullanarak Geçiş Efekti Oluşturma

Bu örnek, fare işaretçisi öğe tarafından dolu olan alana girdiğinde bir öğenin renginin nasıl değiştirileceğini gösterir.

Bu örnek, bir Extensible Application Markup Language (XAML) dosyasından ve arka plan kod dosyasından oluşur.

Not

Bu örnek, olayların nasıl kullanılacağını gösterir, ancak aynı etkiyi elde etmek için önerilen yol, bir Trigger stilde kullanmaktır. Daha fazla bilgi için bkz. Stil oluşturma ve şablonoluşturma.

Örnek

Aşağıdaki XAML, bir öğesinin etrafında oluşan Kullanıcı arabirimini oluşturur BorderTextBlock ve MouseEnter ve MouseLeave olay işleyicilerini öğesine ekler Border .

<StackPanel>
  <Border MouseEnter="OnMouseEnterHandler"
          MouseLeave="OnMouseLeaveHandler"
          Name="border1" Margin="10"
          BorderThickness="1"
          BorderBrush="Black"
          VerticalAlignment="Center"
          Width="300" Height="100">
    <Label Margin="10" FontSize="14"
           HorizontalAlignment="Center">Move Cursor Over Me</Label>
  </Border>
</StackPanel>

Aşağıdaki kod arkasında MouseEnter ve MouseLeave olay işleyicileri oluşturulur. Fare işaretçisi öğesine girdiğinde, Border öğesinin arka planı Border kırmızı olarak değişir. Fare işaretçisi ' den çıktığında, Border öğesinin arka planı Border tekrar beyaza değişir.

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    // raised when mouse cursor enters the area occupied by the element
    void OnMouseEnterHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.Red;
    }

    // raised when mouse cursor leaves the area occupied by the element
    void OnMouseLeaveHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.White;
    }
}
Partial Public Class Window1
    Inherits Window

    Public Sub New()
        InitializeComponent()
    End Sub
    ' raised when mouse cursor enters the are occupied by the element
    Private Sub OnMouseEnterHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
        border1.Background = Brushes.Red
    End Sub
    ' raised when mouse cursor leaves the are occupied by the element
    Private Sub OnMouseLeaveHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
        border1.Background = Brushes.White
    End Sub
End Class