C# 如何从我的选择器获取值?沙马林型

C# 如何从我的选择器获取值?沙马林型,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我无法从选择器中取出所选的字符串。 这是我的代码: XAML: 信息1 信息2 代码: picker.SelectedIndex=1//我想这是个问题,你知道我应该打什么吗? var ourPickedItem=picker.Items[thePicker.SelectedIndex]; 现在,即使我选择了数字2,我也只能得到值“info1”。它与SelectedIndex有关,因此它只选择“1”,但我不确定如何编写代码以使其适用于所选项目。您应该看看: picker.SelectedIn

我无法从选择器中取出所选的
字符串。
这是我的代码:

XAML:


信息1
信息2
代码:

picker.SelectedIndex=1//我想这是个问题,你知道我应该打什么吗?
var ourPickedItem=picker.Items[thePicker.SelectedIndex];
现在,即使我选择了数字2,我也只能得到值“info1”。它与
SelectedIndex
有关,因此它只选择“1”,但我不确定如何编写代码以使其适用于所选项目。

您应该看看:

picker.SelectedIndexChanged+=(发送方,参数)=>
{
if(picker.SelectedIndex==-1)
{
boxView.Color=Color.Default;
}
其他的
{
字符串colorName=picker.Items[picker.SelectedIndex];
Color=nameToColor[colorName];
}
};
否则,在新的Xamarin表单版本2.3.4中存在

您可以设置ItemSource

<Picker ItemsSource="{Binding Countries}" />

XLabs已经提供了它。以下是一个例子:

<ContentPage x:Class="XLabs.Samples.Pages.Controls.ExtendedPickerPage"
         xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
         Title="Picker">
<ContentPage.Content>
    <StackLayout x:Name="myStackLayout">
        <Label Text="Xaml:" />
        <controls:ExtendedPicker x:Name="myPicker"
                                 DisplayProperty="FirstName"
                                 ItemsSource="{Binding MyDataList}"
                                 SelectedItem="{Binding TheChosenOne}" />
    </StackLayout>
</ContentPage.Content>

<ContentPage x:Class="XLabs.Samples.Pages.Controls.ExtendedPickerPage"
         xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
         Title="Picker">
<ContentPage.Content>
    <StackLayout x:Name="myStackLayout">
        <Label Text="Xaml:" />
        <controls:ExtendedPicker x:Name="myPicker"
                                 DisplayProperty="FirstName"
                                 ItemsSource="{Binding MyDataList}"
                                 SelectedItem="{Binding TheChosenOne}" />
    </StackLayout>
</ContentPage.Content>