将选择器的选定值绑定到属性Xamarin.Forms

时间:2019-03-31 07:37:39

标签: xamarin.forms picker

如何将属性与选择器的选定项目相关联?

var kmList = new List<string>();
kmList.Add("1");
kmList.Add("2");
kmList.Add("3");
kmList.Add("4");
kmList.Add("5");
kmList.Add("6");
kmList.Add("7");

var picker = new Picker { Title = "Select a km", TitleColor = Color.Red };
picker.ItemsSource = kmList;

例如,如果我选择7,则必须在变量SelectedNumber中使用此值:

    public class TodoItem
    {
        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }
        public string Name { get; set; }
        public string SelectedNumber { get; set; }
    }

需要将选择器的结果值保存到数据库中,但是首先,我需要使用选择器选择的项目设置SelectedNumber值。

2 个答案:

答案 0 :(得分:0)

您可以将ViewModel的选定项属性绑定到Picker的SelectedItem属性,如下所示:

public class Monkey
{
    public string Name { get; set; }
    public string Location { get; set; }
    public string Details { get; set; }
    public string ImageUrl { get; set; }
}

public class MonkeysViewModel
{
    public ObservableCollection<Monkey> Monkeys { get; set; }

    public Monkey SelectedMonkey { get; set; }
}

<Picker Title="Select a monkey"
    TitleColor="Red"
    ItemsSource="{Binding Monkeys}"
    ItemDisplayBinding="{Binding Name}"
    SelectedItem="{Binding SelectedMonkey}" />

此外,您可以在Microsoft Docs中了解有关此内容的更多信息。

答案 1 :(得分:0)

已解决。在c#上看起来像这样

picker.SetBinding(Picker.SelectedItemProperty, "SelectedNumber");