Zdarzenie ValueChanged

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

Czym jest zdarzenie ValueChanged?

ValueChanged to zdarzenie wywoływane wtedy, gdy zmieni się wartość kontrolki. W aplikacjach mobilnych, np. tworzonych w Xamarin.Forms lub .NET MAUI, występuje m.in. przy kontrolce Stepper, Slider albo innych elementach przechowujących wartość liczbową.

Stepper to kontrolka z przyciskami - i +, która pozwala zmniejszać lub zwiększać wartość. Jeśli program ma zawsze znać aktualną wartość tej kontrolki, należy obsłużyć zdarzenie ValueChanged.

Kiedy używa się ValueChanged?

Zdarzenia ValueChanged używa się, gdy trzeba:

  • zapisać aktualną wartość kontrolki do zmiennej,
  • zaktualizować tekst etykiety po zmianie wartości,
  • wykonać obliczenia po zmianie liczby,
  • zareagować natychmiast po kliknięciu + lub -.

Przykład w C

private double aktualnaWartosc;

private void Stepper_ValueChanged(object sender, ValueChangedEventArgs e)
{
    aktualnaWartosc = e.NewValue;
}

W tym przykładzie zmienna aktualnaWartosc zawsze otrzymuje nową wartość kontrolki Stepper.

Przykład w XAML

<Stepper Minimum="0"
         Maximum="10"
         Increment="1"
         ValueChanged="Stepper_ValueChanged" />

Ważne rozróżnienie

ValueChanged reaguje na zmianę wartości. Inne zdarzenia z pytania mają inne znaczenie:

  • DescendantAdded — dodanie elementu potomnego do widoku,
  • Unfocused — utrata fokusu przez kontrolkę,
  • SizeChanged — zmiana rozmiaru kontrolki.

Dlatego dla Steppera poprawnym zdarzeniem jest ValueChanged.