c# - 带有自定义刻度的 slider (标签和速度)

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

我正在尝试定制 Slider在 UWP 应用程序中,它的外观和功能应该有点像 Windows 10 内置照片应用程序中的滚动:

example screenshot from Windows 10 Photos app

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

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

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

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

我是不是遗漏了什么,或者如果不制作我自己的完全自定义的 UI 控件真的不可能实现这样的用户体验吗?

最佳答案

它不是 slider 控件。如果要制作这样的控件,则必须进行大量自定义。您可能需要创建一个 UserControl。此 UserControl 需要一些基本的 UWP 控件才能使其看起来像 MS Photos 应用。

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

反正要做这样的控件,需要很多基础知识,做很多定制。这很复杂。您可以在 WPDev UserVoice 上提交功能请求 .

关于c# - 带有自定义刻度的 slider (标签和速度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205818/

相关文章:

c# - 如何设置 AutoSuggestBox 中文本光标的位置?

c# - 如何使用 OpenXML 在 Excel 工作表中设置复选框值

c# - 处置在 DirectorySearcher 中未按预期工作

c# - 用 SQL 列填充 WPF 组合框

c# - WPF 中的可选控件

c# - 在 UWP 应用程序上滚动时禁用枢轴滑动

UWP 链接到串口

c# - 以编程方式在 UpdatePanel 中添加用户控件

c# - 如何知道两个单词是否具有相同的基础?

c# - 使用 ItemsSource 时如何设置 TabItem CommandBindings