无法设置选择器默认值

Cannot set Picker Default value

我的 Xamarin 表单上有一个绑定到列表的选择器,我希望它在打开表单时已经选择了该列表的第一项。

我的列表是这样的

Languages = new List<string>();
Languages.Add("English");
Languages.Add("Nederlands");
Languages.Add("русский");

我这样试过

<Picker x:Name="PickerLanguage" Title="" 
        TitleColor="#004973" 
        FontSize="24" 
        ItemsSource="{Binding Languages}"
        SelectedIndex="0"
        SelectedItem="English">
</Picker>

像这样

<Picker x:Name="PickerLanguage" Title="" 
        TitleColor="#004973" 
        FontSize="24" 
        ItemsSource="{Binding Languages}"
        SelectedIndex="0"
        SelectedItem="0">
</Picker>

以上两种尝试都是基于

但这是行不通的。

如何才能在打开表单时将 English 设置为已选择 item/index?

在您的 c# 中为您选择的项目创建一个 属性,然后将其绑定到您的选择器:

private string selectedObj;
public string SelectedObj
{
  get{ return selectedObj;}
  set{ selectedObj= value ; 
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SelectedObj"));}
      
}

然后您可以在代码中的任何位置将您的值设置为所选对象:

SelectedObj = "English";

然后将其绑定到 xaml 中的选择器:

<Picker x:Name="PickerLanguage" Title="" 
        TitleColor="#004973" 
        FontSize="24" 
        ItemsSource="{Binding Languages}"
        
        SelectedItem="{Binding SelectedObj}">
</Picker>