Condividi tramite


Procedura: creare un effetto di attivazione utilizzando gli eventi

In questo esempio viene illustrato come modificare il colore di un elemento quando il puntatore del mouse entra e lascia l'area occupata dall'elemento .

Questo esempio è costituito da un file XAML (Extensible Application Markup Language) e da un file code-behind.

Nota

In questo esempio viene illustrato come usare gli eventi, ma il modo consigliato per ottenere questo stesso effetto consiste nell'usare un Trigger oggetto in uno stile. Per altre informazioni, vedere Applicazione di stili e modelli.

Esempio

Il codice XAML seguente crea l'interfaccia utente, costituita da Border intorno a , TextBlocke associa i MouseEnter gestori eventi e MouseLeave a 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>

Il code-behind seguente crea i MouseEnter gestori eventi e MouseLeave . Quando il puntatore del mouse entra in Border, lo sfondo di Border viene modificato in rosso. Quando il puntatore del mouse lascia , Borderlo sfondo dell'oggetto Border viene nuovamente impostato su bianco.

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