2017-02-24 182 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