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