Xamarin.forms 获取picker xamarin窗体上selectedindexchanged上的selected itemssource绑定值

Xamarin.forms 获取picker xamarin窗体上selectedindexchanged上的selected itemssource绑定值,xamarin.forms,Xamarin.forms,我在xamarin表单中使用Picker。我正在将以下类绑定到Picker: public string FieldCode{get; set; } public string FieldValue{get; set; } 选择器如下所示: <Picker Grid.Row="1" Grid.Column="0" x:Name="pkrMvmtCat" Style="{StaticResource WOFormPicker}" Title="Select" ItemsSource="{B

我在xamarin表单中使用Picker。我正在将以下类绑定到Picker:

public string FieldCode{get; set; }
public string FieldValue{get; set; }
选择器如下所示:

<Picker Grid.Row="1" Grid.Column="0" x:Name="pkrMvmtCat" Style="{StaticResource WOFormPicker}" Title="Select" ItemsSource="{Binding FieldCode}" ItemDisplayBinding="{Binding FieldValue}" SelectedIndexChanged="pkrMvmtCat_SelectedIndexChanged"></Picker>

当我更改选择器索引时,我想获得字段代码值


请让我来解决此问题。

您必须先收听事件,然后从列表中强制转换所选项目。以下是一个例子:

void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
  var picker = (Picker)sender;
  int selectedIndex = picker.SelectedIndex;

  if (selectedIndex != -1)
  {
    var field = (string)picker.ItemsSource[selectedIndex];
  }
}

我不知道你在这里想干什么。。因为您将
ItemsSource
设置为单个字符串值?这应该是一个值列表。然后将
SelectedItem
设置为一个属性,在该属性中,您希望有新的选定值并通过双向绑定绑定到该值。我希望pkrMvmtCat_selectedIndex上的选定字段代码值发生更改。将通过事件传入的索引与作为项目源绑定到pickerit正在工作的集合进行比较。。。谢谢你,布鲁诺。只需像“var field=(string)picker.ItemsSource[selectedIndex]as;”那样编辑