private static void OnValueChanged2(DependencyObject d, DependencyPropertyChangedEventArgs e) { MyProcessBar g = d as MyProcessBar; if (g != null) { g.State.Visibility = (bool)e.NewValue ? Visibility.Visible : Visibility.Collapsed; } Console.WriteLine("ValueChanged new value is {0}", e.NewValue); }
new PropertyMetadata(0d, new PropertyChangedCallback(OnValueChanged))); //属性默认值 private static void OnValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MyProcessBar g = d as MyProcessBar; if (g != null) { g.grid.Width = ((double)e.NewValue / 100d) * 180; Console.WriteLine("g.ActualWidth:" + g.ActualWidth); g.Process.Content = "%" + ((double)e.NewValue).ToString("F1"); } Console.WriteLine("ValueChanged new value is {0}", e.NewValue); }