Silverlight控件-Slider
生活随笔
收集整理的這篇文章主要介紹了
Silverlight控件-Slider
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?? 本篇主要分享關于Slider應用上的一點問題, 相信你看完演示后,已經知道本文的意圖了.
?? 在實際開發中,我們需要Slider根據我們設置的SmallChange進行ValueChange.SDK的Slider即使設置了SmallChange屬性,
?? 但是在拖動Thumb時,仍會顯示實際的Value.顯然不能夠滿足我們的需求,這就需要我們手動去修改Slider.
?? 我相信最初使用Slider的人會和我遇到一樣的問題,希望本篇的做法能提供給各位一些思路.
?? 我的做法重寫OnValueChanged事件,直接貼出改造后的代碼:
? public class RoundSlider : Slider, INotifyPropertyChanged?? { public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public double RoundValue { get { return (SmallChange == 0 ? Value : Math.Round(Value / SmallChange) * SmallChange); } } bool _busy=false; double _discreteValue; protected override void OnValueChanged(double oldValue, double newValue) { if (!_busy) { _busy = true; if (SmallChange != 0) { double newDiscreteValue = Math.Round(newValue / SmallChange) * SmallChange; if (newDiscreteValue != _discreteValue) { Value = newDiscreteValue; base.OnValueChanged(_discreteValue, newDiscreteValue); _discreteValue = newDiscreteValue; } } else { base.OnValueChanged(oldValue, newValue); } _busy = false; } NotifyPropertyChanged("RoundValue"); }}?????? 通過RoundValue屬性得到我們期望的結果,具體的邏輯也很簡單,希望本篇能提供給需要的朋友小小的幫助.??????
轉載于:https://www.cnblogs.com/626498301/archive/2012/03/06/2381593.html
總結
以上是生活随笔為你收集整理的Silverlight控件-Slider的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DB Query Analyzer 中断
- 下一篇: 支付系统中订单redis防重的使用