无法设置选择器默认值
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>
我的 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>