所以我一直想把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")); }
}
我错过了什么吗?帮助将不胜感激。
答案 0 :(得分:4)
遗憾的是,标准组件中缺少此功能,但在{{3}}详细说明时相对容易添加。使用此派生组件,您将能够绑定 ItemsSource 和 SelectedItem 属性。如果需要,添加类似WPF的DisplayMemberPath和ValueMemberPath属性也相对容易。
答案 1 :(得分:4)
看起来此功能已内置于常规Xamarin.Forms Picker中。它目前在version 2.3.4-pre1的预发布NuGet包中,但一旦发布,应该是稳定的2.3.4+版本。而不是绑定到您绑定到ItemsSource
和SelectedItem
的项目。