2017-02-24 57 views

回答

1

您将面临的第一个问题是您在此处看到的选取器控件是本机iOS控件。 Xamarin.Forms TimePicker本身基本上不是物理控制,但它转换为每个平台上的本地控制。这就是为什么它会在Android和UWP设备上看起来不同,因为它们提供了自己的选择器控件,如下图所示。现在

enter image description here

,如果你确定与对照找不同,你可以使用custom renderers修改每个本地控制,甚至代替他们提供您所需要的功能。我想我会概述你开始的基本步骤:

  1. 创建一个新的Xamarin.Forms控件,称为CustomPicker或其他东西。
  2. 为每个平台创建自定义渲染器。
  3. 在iOS上,您可以使用UIPickerView并指定numberOfComponents,numberOfRows和数据源。
  4. 在Android上,您可能想使用第三方控件,因为默认情况下,没有像iOS上的那样的滚动选取器控件。 WheelPicker看起来很有前途。
  5. 在UWP上,您可以使用PickerFlyoutBase解决问题。我在平台上的知识有限,但你应该能够很容易地找到一些东西。

正如你所看到的,要让滚动选择器在每个平台上工作将是一项非常努力的工作。


编辑:你也可以看看本地嵌入,它允许你将原生控件嵌入Xamarin.Forms应用的页面。

Native Embedding

Embedding native controls into Xamarin.Forms