我有以下代码用于 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/