2015-01-01 21 views
13

我想爲我的Windows Phone 8.1(WinRT)定製循環選擇器,但目前我找不到任何解決方案。我想是這樣的:Windows Phone 8.1(WinRT):自定義循環選擇器

enter image description here

Windows Phone Toolkit是WP8.0和WP8.1 Silverlight和它不爲WP8.1工作(WinRT的)應用程序(而this question是WP8.1的Silverlight )。

對於WP8.1有DatePicker & TimePicker控件。有沒有什麼方法來定製他們的數據或什麼欺騙控制我的問題?

有一個LoopingSelector類,但它似乎尚未實現。

任何解決方案或想法,將不勝感激。

+0

被撿拾工具類封了?如果沒有,則從它們繼承一個新類並重寫這些方法,以便它們按照你的要求進行操作。 – magicandre1981

+0

我怎樣才能找到他們是否密封?這是一個類:http://msdn.microsoft.com/library/windows/apps/dn299280。它是「**公共類TimePicker:Control **」。那我可以繼承它嗎? –

+0

@ magicandre1981,如果你有時間從你所說的話(和回答問題)中創建一個工作示例,那對每個人都可以使用。先謝謝你。 –

回答

0

我做了這樣的一個「無限捕捉日期選擇」如果是有道理的:)

基礎:

  • 創建一個數據模型來顯示它可以爲你提供一個/上一個元素
  • Canvas作爲控制根(它的速度快)
  • 呼叫呈現Loaded和重新呈現在SizeChanged
  • 創建(依賴)屬性選擇的值
  • 認購相關的操作事件(ManipulationDelta*Completed),並選擇 ManipulationModes你想要什麼允許(翻譯,也許translateintertia如果你想intertia)

渲染:

  • 渲染屏幕尺寸/ elementsize + 2個元件(可能更多)
  • 移動它們上在ManipulationDelta和已完成事件
  • 如果一個元素離開控制邊界的一邊,將該邊的最後一個元素移動到另一邊,同時改變顯示的數據(基本上,如果它是最後一個,則比firstelement.getprevious)
  • on在ManipulationCompleted找到中心最接近的元素,和動畫都到「捕捉」位置
  • 最後是你的SelectedValue屬性設置爲居中的元素
的數據

這與動畫Canvas.Left解決方案表現良好,即使在第一代Surface RT上。祝你好運!

+0

感謝您的回答。但是,你能否提供一些代碼或鏈接到工作示例?先謝謝你。 –

+0

對不起,這是一個工作項目,所以我不能真正分享代碼:( –

+0

謝謝,但我不想複製/粘貼代碼。你會創建一個示例項目?它可能是偉大的每個人使用。 –

相關問題