如何在 Xamarin Picker 控件中显示两个项目一个字符串和一个图像?

Posted

技术标签:

【中文标题】如何在 Xamarin Picker 控件中显示两个项目一个字符串和一个图像?【英文标题】:How to display two items a string and an Image in Xamarin Picker control? 【发布时间】:2017-01-03 09:12:15 【问题描述】:

我有一种情况需要在 Xamarin 中显示选择器控件,如下所示。

它将并排显示国家标志和国家代码。 并且选择的国家代码应该显示为 Picker 控件的背景图像。 (如图)

我刚开始使用Xamarin,发现Picker 没有像WPF XAML 这样的ItemSource 属性,它也不支持DataTemplate

使用listView 我可以实现这一点,但ListView Control 和 Picker 控件的可用性不同。

谁能指导我如何在 Xamarin-XAML 的 Picker 中实现此功能?

【问题讨论】:

不确定问题是什么。您是在使用 listview 控件时遇到问题,还是只是在寻找可以使用它的确认信息? 对不起我的英语,我使用 ListView 没有任何问题。但是如何在选取器控件中显示相同的 itemList。将显示国家代码和国家标志的选取器控件。就像问题中的图片一样。 【参考方案1】:

Picker.ItemsIList<string> 所以我认为你不能这样做,因为它只用于保存字符串。见:https://developer.xamarin.com/api/property/Xamarin.Forms.Picker.Items/

但是,您可以创建另一个页面并在该页面上放置 ListView,以便用户可以在那里设置语言。

【讨论】:

感谢您的详细解释。我准备了一个 ListView 可以满足我的要求。但是如何在运行时弹出列表视图? @Debhere 你真的必须让ListView“弹出”吗?因为只创建另一个Page 会更容易、更优雅。这样,当用户按下“更改语言”按钮时,应用程序将导航到语言页面。在那里,用户可以轻松更改语言。 感谢您的回复。会试试的。【参考方案2】:

DataTemplate 中带有 ImageCell 的 ListView。

查看第 19 章,Charles Petzold 的电子书第 587 页左右。您可以从这里下载:

Creating Mobile Apps with Xamarin.Forms Book First Edition

【讨论】:

以上是关于如何在 Xamarin Picker 控件中显示两个项目一个字符串和一个图像?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms.Picker 内容在 UWP 中重复

Xamarin 如何将类属性(来自另一个项目)绑定到 Picker.ItemDisplayBinding 属性

Xamarin Forms Picker - iOS 上的“完成”文本

我将如何设置 Xamarin Forms Android Picker 弹出窗口的背景颜色

Xamarin.Forms 中 Picker 的自定义渲染器

Xamarin.Forms DatePicker 时间