如何在Xamarin.Forms

时间:2016-06-08 13:48:09

标签: mvvm xamarin

所以我一直想把Xamarin.Forms中两个选择器的项绑定到我的ViewModel。我主要使用绑定文本字段,我只写了类似的东西:

<Label Text="{Binding CurrentDate}" />

并简单地通过设置绑定上下文,在viewmodel中定义属性

    public System.DateTime CurrentDate{
        get { return currentDate; }
        set { currentDate = value; PropertyChanged(this, new PropertyChangedEventArgs("CurrentDate")); }
    }

我完成了绑定。现在我有两个采摘者。拾取器代表地图/字典。字典取代。 “A”映射到{“1”,“2”},“B”映射到{“4”,“5”}。第一个选择器应显示“A”和“B”作为选项。第二个应显示与第一个选择器中所选值相关联的值。

所以有两个问题。 1)如何绑定选择器? 2)如何绑定具有依赖于其他选择器选择的数据的选择器?

我试过

<Picker Items="{Binding ItemsA}"></Picker>

具有匹配属性

    public List<string> ItemsA
    {
        get { return itemsA;}
        set { itemsA = value;PropertyChanged(this, new PropertyChangedEventArgs("ItemsA")); }
    }

我错过了什么吗?帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

遗憾的是,标准组件中缺少此功能,但在{{3}}详细说明时相对容易添加。使用此派生组件,您将能够绑定 ItemsSource SelectedItem 属性。如果需要,添加类似WPF的DisplayMemberPath和ValueMemberPath属性也相对容易。

答案 1 :(得分:4)

看起来此功能已内置于常规Xamarin.Forms Picker中。它目前在version 2.3.4-pre1的预发布NuGet包中,但一旦发布,应该是稳定的2.3.4+版本。而不是绑定到您绑定到ItemsSourceSelectedItem的项目。