Zdarzenia w WPF

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

W WPF kontrolki, np. Button, TextBox czy ComboBox, mogą reagować na działania użytkownika za pomocą zdarzeń. Zdarzenie informuje aplikację, że coś się stało, np. kliknięto przycisk, zmieniono zaznaczenie, naciśnięto klawisz albo kontrolka utraciła fokus.

Przypisanie zdarzenia w XAML

Obsługę zdarzenia można przypisać bezpośrednio w pliku XAML:

<ComboBox SelectionChanged="Funkcja1" />

Oznacza to, że po zmianie wybranego elementu listy zostanie wywołana metoda Funkcja1 z kodu C#.

Metoda obsługująca zdarzenie

Metoda obsługi zdarzenia ma zwykle dwa parametry:

private void Funkcja1(object sender, SelectionChangedEventArgs e)
{
    MessageBox.Show("Zdarzenie 1");
}
  • sender — obiekt, który wywołał zdarzenie, np. konkretna kontrolka ComboBox,
  • e — argumenty zdarzenia, zawierające dodatkowe informacje.

Typ argumentu e zależy od rodzaju zdarzenia. Dla SelectionChanged jest to SelectionChangedEventArgs, dla KeyDownKeyEventArgs, a dla DragEnterDragEventArgs.

Przykładowe zdarzenia kontrolki ComboBox

  • SelectionChanged — występuje po zmianie zaznaczonego elementu,
  • KeyDown — występuje po naciśnięciu klawisza, gdy kontrolka ma fokus,
  • LostFocus — występuje, gdy kontrolka traci fokus,
  • DragEnter — występuje podczas przeciągania elementu nad kontrolkę.

Najważniejsze dla egzaminu

Jeżeli użytkownik wybiera element z listy rozwijanej, najważniejszym zdarzeniem jest SelectionChanged. W pytaniu egzaminacyjnym to właśnie ono uruchomi metodę pokazującą komunikat "Zdarzenie 1".