private static void OnAutoHidePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { BindableScrollBar sender = d as BindableScrollBar; if (sender.AutoHide == true) { sender.Visibility = Visibility.Hidden; } }
private static void OnBoundScrollViewerPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var control = d as BindableScrollBar; var old = e.OldValue as ScrollViewer; if (old != null) { old.ScrollChanged -= control.BoundScrollChanged; } var newViewer = e.NewValue as ScrollViewer; if (newViewer != null) { newViewer.ScrollChanged += control.BoundScrollChanged; } BindableScrollBar sender = d as BindableScrollBar; if (sender != null && e.NewValue != null) { sender.UpdateBindings(); } }