该Xamarin表格文档Xamarin.Forms.Picker.SelectedItem
说,有一个公共财产SelectedItem
的Picker
。但是,当我尝试绑定到它时出现错误。如果您必须手动处理SelectedIndex
属性,选择器不是很有用。
托尼
小智 8
无需手动处理SelectedIndex
. 您可以使用Picker
的SelectedItem
属性。只要确保您的类型相同即可。例如,如果您ItemsSource
绑定到一个属性:
BookTitles List<string> { get; set; }
Run Code Online (Sandbox Code Playgroud)
你SelectedItem
必须是这样的:
SelectedBookTitle string { get; set; }
Run Code Online (Sandbox Code Playgroud)
确保设置该SelectedBookTitle
值以在首次显示页面时显示标题。不要忘记设置Mode
为TwoWay
对SelectedItem Binding
。例如:
<Picker ItemsSource="{Binding BookTitles}" SelectedItem="{Binding
SelectedBookTitle, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)
这将确保在第一次显示页面时显示标题,并SelectedBookTitle
在页面和代码隐藏/视图模型上保持相等的值。
在这个例子中不需要使用行为。
您可以相对轻松地添加此功能,即使使用开箱即用的 Forms pre 2.3.4 旧版本也是如此。只需创建一个自定义行为来绑定选择器项目。您可以实现自己的版本或使用现有的库,例如 Xamarin 大学基础设施库,它可以作为源代码和Nuget形式提供
详细的文档展示了如何使用它:
<Picker ...>
<Picker.Behaviors>
<inf:PickerBindBehavior Items="{Binding Colors}"
SelectedItem="{Binding FavoriteColor}" />
</Picker.Behaviors>
</Picker>
Run Code Online (Sandbox Code Playgroud)
该行为的方法是公开可绑定属性(项目)并使用可观察集合。每当这种情况发生变化时,行为就会更新选择器的项目。
归档时间: |
|
查看次数: |
14207 次 |
最近记录: |