Проблема
У меня есть сборщик в моем приложении Maui, с его элементами intesource и SelectedItem , связанным с свойствами в ViewModel страницы. У меня также есть кнопка для сброса сборщика, установив свойство, связанное с SelectedItem на null .
Он работает совершенно хорошо на Android: я могу выбрать значение, а затем сбросить его, и сборщик правильно устанавливает обратно к названию «Выберите элемент». However, when I try to run it on iOS, the value the picker displays stay unchanged, despite the viewmodel's property being actually changed.
Code Link to a Minimal reproducible example on GitHub
The xaml of the view
public partial class MainViewModel : ObservableObject
{
[ObservableProperty]
public partial ObservableCollection MyCollection { get; set; } = [];
[ObservableProperty]
public partial Item? Selected { get; set; } = null;
public MainViewModel()
{
Add10Items();
}
private void Add10Items()
{
foreach (int i in Enumerable.Range(0, 10))
{
var newItem = new Item
{
Id = i,
Desc = $"Choice {i}"
};
MyCollection.Add(newItem);
}
}
[RelayCommand]
public void ResetFilter()
{
Selected = null;
}
}
public partial class Item : ObservableObject
{
[ObservableProperty] public partial int Id { get; set; } = 0;
[ObservableProperty] public partial string Desc { get; set; } = string.Empty;
}
tentatatives
Я пытался решить эту проблему, но без успеха:
Работа с SelectedIndex , а также установив его на -1
, чтобы сборы, связанные с настройкой, а также кодовой, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код. [] , затем репутация его)
Создание пользовательского поведения для обработки некоторой логики со стороны страницы
Проблема У меня есть сборщик в моем приложении Maui, с его элементами intesource и SelectedItem , связанным с свойствами в ViewModel страницы. У меня также есть кнопка для сброса сборщика, установив свойство, связанное с SelectedItem на null . Он работает совершенно хорошо на Android: я могу выбрать значение, а затем сбросить его, и сборщик правильно устанавливает обратно к названию «Выберите элемент». However, when I try to run it on iOS, the value the picker displays stay unchanged, despite the viewmodel's property being actually changed. Code [b]Link to a Minimal reproducible example on GitHub[/b] The xaml of the view [code]
[/code] код в моем ViewModel [code]public partial class MainViewModel : ObservableObject {
private void Add10Items() { foreach (int i in Enumerable.Range(0, 10)) { var newItem = new Item { Id = i, Desc = $"Choice {i}" }; MyCollection.Add(newItem); } }
[RelayCommand] public void ResetFilter() { Selected = null; } }
public partial class Item : ObservableObject { [ObservableProperty] public partial int Id { get; set; } = 0; [ObservableProperty] public partial string Desc { get; set; } = string.Empty; } [/code] tentatatives Я пытался решить эту проблему, но без успеха: [list] [*] Работа с SelectedIndex , а также установив его на -1 [*], чтобы сборы, связанные с настройкой, а также кодовой, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код, а также код. [] , затем репутация его) [*] Создание пользовательского поведения для обработки некоторой логики со стороны страницы [*] Работа с выбранным с выбранным значением [/list]