带有自定义刻度的滑块(标签和速度)

时间:2018-11-08 10:27:12

标签: c# xaml uwp win-universal-app uwp-xaml

我正在尝试在UWP应用程序中创建自定义Slider,其外观和功能应类似于Windows 10内置的照片应用程序中的滚动显示:

example screenshot from Windows 10 Photos app

此屏幕快照中存在两个主要功能,但我找不到实现自己的方法:

  1. 滑块/滚动条中相同范围内的所有位置应具有相同的工具提示值。在屏幕快照示例中,您可以看到滑块的特定范围内(两个刻度之间)的所有照片都显示相同的工具提示,即该月的名称。

  2. 刻度线之间的间隙并不总是相同的。在屏幕截图示例中,他们依赖于每月拍摄的照片数量,相对于照片总数。

我发现在WPF中,为滑块(see here)的刻度设置自定义值非常简单明了,但是在UWP中,这些属性似乎消失了。另外,在the official docs中找不到任何相关信息。我确实注意到有一个名为TickBar的UWP控件,但是找不到任何示例来了解它是否与我的问题有关。

我是否缺少某些东西,或者如果不制作自己的完全自定义的UI控件,是否真的不可能实现这样的UX?

1 个答案:

答案 0 :(得分:0)

它不是Slider控件。如果要进行这样的控制,则必须进行很多自定义。您可能需要制作一个UserControl。此UserControl需要一些基本的UWP控件,以使其看起来像MS Photos应用程序。

例如,您可能需要自定义ItemsControl(StaggeredPanel看起来很相似)来管理页面中图片的布局,并自定义ScrollBar,使用两个ItemsControls在右侧显示Year / Month侧。当指针在ScrollBar上移动时,您还需要一些标签来显示文本,该标签可能是TextBlock控件等。您可能还需要一些animations

无论如何,要进行这样的控制,您需要大量的基础知识并进行大量的自定义。这很复杂。您可以在WPDev UserVoice上提交功能请求