滑动条与标签 WinRT

4

我正在创建一个需要底部和顶部滑动条以及每个刻度值下方都有数字标签的WinRT/Windows 8应用程序。

类似于这样

到目前为止,我已经设置了带颜色和滑动条的滑块,但是我无法让标签在滑动条下面工作。

我知道在WPF中有一种方法可以通过创建默认类并继承它,然后重写OnRender方法来实现此功能,但我认为在WinRT中这种方法行不通,因为没有DrawableContext类。

如果有人做过这样的事,请帮忙解答!

附注:标签只需要具有单个值,而不是像图片中那样具有范围值,缩略图也是如此。

谢谢


你需要为此创建一个用户控件。同时,为了删除范围值,你需要使用switch case语句来实现每个数字对应的范围。 - loop
2个回答

1
这是WPF中的实现方式: http://social.msdn.microsoft.com/Forums/vstudio/en-US/8d64b2dc-4dfd-4b05-aa95-e24aaaed53af/i-want-to-add-lables-with-text-in-ticks-of-slider 正确,WinRT XAML中没有OnRender()。正如Tim所指出的那样,您可以重新定义Slider并创建自定义TickBar。它可以重写ArrangeOverride()并使用LineRectangle创建自定义刻度标记,并使用TextBlock创建标签。如果您不需要通用解决方案,您可以在Slider上叠加TextBlocks以用作标签。

谢谢Patrick。我可以在滑块下方添加文本块以用作标签,但是一个范围为0-100的滑块,其刻度频率为5,将需要大约20个文本块,这些文本块很可能都必须动态创建。我希望有一个更优雅的解决方案! - Rajeev Bhatia

1
为了获得您想要的用户界面,您需要重新设计 Slider 和 TickBar,以显示所需的值。

谢谢你的回复,Tim。你能否提供一个这样的例子呢?我试着使用 Blend 重新设计滑块模板,并尝试在下限刻度线下方的滑块模板中添加一个控件,但我不知道要将控件文本绑定到哪个值。 - Rajeev Bhatia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接