/// <summary> /// 当前值发生变化时候调用的方法 /// </summary> /// <param name="d"></param> /// <param name="e"></param> private static void OnValuePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { LedDigital led = d as LedDigital; if (led != null) { led.SetDisplayDigitalValue(led.Value); } }
/// <summary> /// LED颜色发生变化时调用的方法 /// </summary> /// <param name="d"></param> /// <param name="e"></param> private static void OnDigitalBrushPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { LedDigital led = d as LedDigital; if (led != null) { led.UpdateAllSegmentsBrush(); } }
/// <summary> /// 当led形状参数发生变化时调用的方法 /// </summary> /// <param name="d"></param> /// <param name="e"></param> private static void OnSizePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { LedDigital led = d as LedDigital; if (led == null || led._rootPanel == null) { return; } led._rootPanel.Children.Clear(); //初始化数字片段生成器 DigitalParameter dp = led.GetDigitalParameter(); led._segementCreator = new BaseLedDigitalSegmentCreator(dp); //初始化数字 led.InitAllDigitalSegments(); //设置初始值 led.SetDisplayDigitalValue(led.Value); }
/// <summary> /// 添加Led Digitals /// </summary> /// <param name="digitalCount"></param> private void InitDigitals(int digitalCount) { digitalsList.Clear(); double ledControlWidth = Width / digitalCount; double ledControlHeight = Height; for (int i = 0; i < digitalCount; i++) { LedDigital led = new LedDigital(); led.Width = ledControlWidth; led.Height = ledControlHeight; led.SegmentInterval = SegmentInterval; led.BevelWidth = BevelWidth; led.DigitalThickness = DigitalThickness; led.DigitalBrush = DigitalBrush; led.DigitalDimBrush = DigitalDimBrush; led.DigitalDimOpacity = DigitalDimOpacity; digitalsList.Add(led); } }