在Xamarin中为ViewModel中的选择器设置初始值

在Xamarin中为ViewModel中的选择器设置初始值,xamarin,xamarin.forms,Xamarin,Xamarin.forms,在我的Xamarin应用程序中,我向页面添加了一个选择器控件。该选择器的设置在xaml中如下所示: 在我的ViewModel中,我使用以下代码向选择器填充一些值: 公共类GenderItem { 公共字符串名称{get;set;} } 公共类RegisterViewModel:BaseViewModel { 私人日期时间-出生日期; public DateTime Birthdate{get=>_Birthdate;set=>SetProperty(ref _Birthdate,value)

在我的Xamarin应用程序中,我向页面添加了一个选择器控件。该选择器的设置在
xaml
中如下所示:


在我的ViewModel中,我使用以下代码向选择器填充一些值:

公共类GenderItem
{
公共字符串名称{get;set;}
}
公共类RegisterViewModel:BaseViewModel
{
私人日期时间-出生日期;
public DateTime Birthdate{get=>_Birthdate;set=>SetProperty(ref _Birthdate,value);}
公共GenderItem性别{get=>\u性别;set=>SetProperty(ref\u性别,值);}
公共列表GenderItems{get;set;}=新列表
{
新GenderItem{Naam=“Male”},
新GenderItem{Naam=“Female”},
新GenderItem{Naam=“困惑”}
};
公共注册服务模型()
{
//这不管用
性别=新性别{Naam=“女性”};
//这很有效
生日=DateTime.Today.AddYears(-40);
}
}
构造函数中
我尝试为
选择器
控件设置一个默认选择值。但由于某些原因,
选择器中未选择该值

我还用一个值设置了一个
datetime
属性,我确实看到这个值是由Date控件拾取的

为什么这对
选择器
控件不起作用?我能做些什么来让它工作


SetProperty方法
SetProperty
方法存在于我的
BaseViewModel
类中。每一个新的Xamarin项目都会有这样的结果

公共类BaseViewModel:INotifyPropertyChanged
{
公共IDataStore数据存储=>DependencyService.Get();
bool\u isBusy=false;
公共图书馆很忙
{
get=>\你很忙;
set=>SetProperty(ref\u isBusy,value);
}
string _title=string.Empty;
公共字符串标题
{
获取=>\u标题;
set=>SetProperty(参考标题,值);
}
受保护的布尔设置属性(参考T backingStore,T值,
[CallerMemberName]字符串propertyName=“”,
操作onChanged=null)
{
if(EqualityComparer.Default.Equals(backingStore,value))
返回false;
backingStore=价值;
onChanged?.Invoke();
OnPropertyChanged(propertyName);
返回true;
}
#区域inotifyproperty已更改
公共事件属性更改事件处理程序属性更改;
受保护的void OnPropertyChanged([CallerMemberName]字符串propertyName=”“)
{
var changed=Property changed;
如果(已更改==null)
返回;
Invoke(这是新的PropertyChangedEventArgs(propertyName));
}
#端区
}

Gender
必须是
GenderItems
中的一个元素。现在,您正在创建一个新对象,该对象的值与
GenderItems
中的项目的值相同,但它与不同
GenderItems
需要是
GenderItems
中的元素。现在,您正在创建一个新对象,该对象的值与
GenderItems
中的项相同,但它不相同object@Jason谢谢,就这样。你能把这个作为一个答案贴出来让我接受吗?