13

我想要一个适用于我的Windows Phone 8.1 (WinRT)的自定义循环选择器,目前我找不到任何解决方案。我想要这样的东西:

在此处输入图像描述

Windows Phone 工具包适用于 WP8.0 和 WP8.1 Silverlight ,不适用于 WP8.1 (WinRT) 应用程序(此问题适用于 WP8.1 Silverlight)。

WP8.1有DatePicker 和 TimePicker控件。有什么方法可以自定义他们的数据或什么来欺骗我的问题的控制?

有一个LoopingSelector类,但似乎还没有实现。

任何解决方案或想法将不胜感激。

4

2 回答 2

1

不知道你是否还需要这个......但这里有一个 WinRT LoopItemsPanel 项目:http: //blogs.msdn.com/b/mim/archive/2013/04/16/winrt-create-a-custom- itemspanel-for-an-itemscontrol.aspx

于 2015-10-12T11:52:41.480 回答
0

如果有意义的话,我为“无限捕捉日期选择器”做了类似的事情:)

基本:

  • 创建一个要显示的数据模型,它可以为您提供下一个/上一个元素
  • 有一个Canvas作为你的控制根(它很快)
  • 调用渲染Loaded和重新渲染SizeChanged
  • 为选定的值创建一个(依赖)属性
  • 订阅相关的操作事件(ManipulationDelta*Completed)并选择 ManipulationModes你想要允许的(翻译,如果你想要 intertia,也许 translateintertia)

使成为:

  • 渲染屏幕尺寸/元素尺寸 + 2 个元素(可能更多)
  • 将它们移动到操作增量上并完成事件
  • 如果一个元素在一侧离开控制边界,则将该侧的最后一个元素移动到另一端,同时更改显示的数据(基本上如果它是最后一个,而不是 firstelement.getprevious)
  • 在操作完成时找到离中心最近的元素,并将所有内容设置为“捕捉”位置
  • 最后将您的 selectedvalue 属性设置为居中元素的数据

这个带有动​​画 Canvas.Left 的解决方案即使在第一代 Surface RT 上也表现良好。祝你好运!

于 2015-04-14T17:07:29.293 回答