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.