To establish a binding between a list and a Picker in .NET MAUI using the MVVM pattern, you can follow these steps:
public List<Color> ColorOptions { get; } = new List<Color> {
Color.Red,
Color.Green,
Color.Blue
};
<Picker ItemsSource="{Binding ColorOptions}"
SelectedItem="{Binding SelectedColor}">
</Picker>
private Color selectedColor;
public Color SelectedColor {
get => selectedColor;
set {
if (selectedColor != value) {
selectedColor = value;
OnPropertyChanged(nameof(SelectedColor));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) {
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
That's it! Now changes to the SelectedColor property in the View Model will update the SelectedItem property of the Picker in the View, and vice versa.
Asked: 2023-06-23 03:21:18 +0000
Seen: 7 times
Last updated: Jun 23 '23