我有以下代码用于 WPF 中的滑块控件:

occuranceTimeSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;
                occuranceTimeSlider.IsSnapToTickEnabled = true;
                occuranceTimeSlider.Ticks = new DoubleCollection()
                {
                    30, 45, 60, 90, 120, 180, 240, 300, 600, 900, 1200, 1800, 3600, 5400, 7200, 9000, 10800, 14400, 18000
                };
                occuranceTimeSlider.Minimum = occuranceTimeSlider.Ticks.Min();
                occuranceTimeSlider.Maximum = occuranceTimeSlider.Ticks.Max();
                occuranceTimeSlider.IsSelectionRangeEnabled = false ;

在运行时,滑块显示并几乎正常工作。基于两个刻度的大小,刻度放置在每个刻度之间的可变距离处。比如14400到18000之间的刻度距离远大于30到45之间的刻度距离,有什么办法可以让这个距离保持不变?

谢谢

最佳答案

我能想到的唯一方法(没有重新模板化滑块)是在幕后从固定数字转换为指数规模。只要您将滑块配置为从不显示数字,您的用户就永远不会知道。

关于C# WPF Slider 控件使刻度均匀显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7895014/

10-13 07:48