因此,目前我在我的Content Page中有一个选取器,其中有多个来自数据源"Patio"的区域,但是我正在try 验证用户是否在我的ViewModel中的这个选取器中 Select 了一个值,但我始终无法弄清楚为什么seltedItem的绑定不能正常工作.
下面是我的带有绑定的选取器,ItemDisplayBinding和ItemsSource都工作得很好:
<Picker
x:Name="pckArea"
Title="Área"
FontAttributes="Bold"
FontSize="Small"
HorizontalTextAlignment="Start"
ItemDisplayBinding="{Binding Area}"
ItemsSource="{Binding Patio}"
SelectedItem="{Binding SelectedArea}"
TextColor="Black" />
下面是我的ViewModel的一部分,带有SelectedArea属性和我正在try 执行的验证,每当我更改所选项目时,PropertyChanged事件似乎不会触发,并且SelectedArea的值始终为空.
[ObservableProperty]
private ObservableCollection<Patio> _patio = new();
[ObservableProperty, NotifyPropertyChangedFor(nameof(CanPost))]
private string _selectedArea;
// Validations
public bool CanPost => !string.IsNullOrEmpty(EntryChassi)
&& !string.IsNullOrEmpty(Cracha)
&& !string.IsNullOrEmpty(SelectedArea);
我是不是做错了什么?
我对毛伊岛和MVVM比较陌生,这也是我第一次发帖,所以如果我需要提供更多关于代码的信息,请让我知道.
我也试过这样做,但也不管用:
public string SelectedArea
{
get => _selectedArea;
set
{
if (_selectedArea != value)
{
_selectedArea = value;
OnPropertyChanged(nameof(_selectedArea));
}
}
}