【发布时间】:2019-12-02 10:23:39
【问题描述】:
我在 Xamarin 表单项目中有以下代码。
<StackLayout Orientation="Horizontal">
<Picker x:Name="picker"
Title="Select a monkey"
TitleColor="Red">
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String> </x:String>
<x:String>Baboon</x:String>
<x:String>Capuchin Monkey</x:String>
<x:String>Blue Monkey</x:String>
<x:String>Squirrel Monkey</x:String>
<x:String>Golden Lion Tamarin</x:String>
<x:String>Howler Monkey</x:String>
<x:String>Japanese Macaque</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
</StackLayout>
如果您注意到选择器中的第一个选择是空字符串。当我在 Android 上运行时,我会显示正确的值。但是当我在 windows 平台上运行并选择第一个选项时,类名显示在选择器字段中。
字段显示:Xamarin.Forms.Picker
我希望它显示为空字符串而不是类名。
【问题讨论】:
-
我建议在后面的代码中使用 ObservableCollection 或 ViewMolde(如果使用 MVVM)作为 List 的源,然后以编程方式将第一个元素设置为在页面打开时选择,如下所示:@ 987654327@
-
嘿@MateusW。 ,我的问题不在于从列表数据中进行选择。上面的代码只是显示我的问题的一个例子。问题在于在 Windows 平台中显示的空数据的显示。它给出了类名而不是显示空字符串。
-
我从未在 UWP 上进行过调试,但这对我来说是一种奇怪的行为。如果您使用 1 个空格而不是空字符串 (" ") 它仍然显示类?
-
@MateusW。是的,对于任意数量的空格,这都是相同的行为。甚至对于空字符串也是如此。
-
奇数。不幸的是,没有太多关于 UWP 的文档或错误报告。我想您将不得不覆盖本机 Picker 类中的某些内容。尝试创建一个扩展 Picker 的类,并确保在选择空字符串时不显示任何内容。如果这不起作用,我会开始寻找替代方案(可能是自动完成输入)。
标签: xamarin xamarin.forms xamarin.uwp