protected override void OnAttached() { var textProperty = AssociatedObject.GetDependencyProperties(true).FirstOrDefault(dp => dp.Name == nameof(AssociatedObject.Text)); if (textProperty == null) { throw new ArgumentException($"Unable to find public property '{nameof(AssociatedObject.Text)}' on object of type '{AssociatedObject.GetType().FullName}'."); } propertyWatcher.Attach(AssociatedObject); propertyWatcher.RegisterValueChangedHandler(textProperty, OnTextChanged); var adornerLayer = AdornerLayer.GetAdornerLayer(AssociatedObject); if (adornerLayer != null) { adorner = new HighlightBorderAdorner(AssociatedObject) { BackgroundBrush = null, BorderBrush = BorderBrush, BorderCornerRadius = BorderCornerRadius, BorderThickness = BorderThickness, State = HighlightAdornerState.Hidden, }; adornerLayer.Add(adorner); } }
protected override void OnAttached() { base.OnAttached(); propertyWatcher.Attach(AssociatedObject); propertyWatcher.RegisterValueChangedHandler(ScrollViewer.HorizontalOffsetProperty, OnControlHorizontalOffsetChanged); propertyWatcher.RegisterValueChangedHandler(ScrollViewer.VerticalOffsetProperty, OnControlVerticalOffsetChanged); }
protected override void OnAttached() { base.OnAttached(); propertyWatcher.Attach(AssociatedObject); propertyWatcher.RegisterValueChangedHandler(ItemsControl.ItemsSourceProperty, ItemsSourceChanged); UpdateCollectionView(); }
protected override void OnAttached() { base.OnAttached(); propertyWatcher.Attach(AssociatedObject); propertyWatcher.RegisterValueChangedHandler(FrameworkElement.ActualWidthProperty, OnActualWidthChanged); propertyWatcher.RegisterValueChangedHandler(FrameworkElement.ActualHeightProperty, OnActualHeightChanged); }
protected override void OnAttachedOverride() { propertyWatcher.Attach(AssociatedObject); if (SynchronizeWidth) { propertyWatcher.RegisterValueChangedHandler(FrameworkElement.ActualWidthProperty, WidthChanged); } if (SynchronizeHeight) { propertyWatcher.RegisterValueChangedHandler(FrameworkElement.ActualHeightProperty, HeightChanged); } RegisterElement(); }
protected override void OnAttached() { if (PropertyName == null) { throw new ArgumentException($"The PropertyName property must be set on behavior '{GetType().FullName}'."); } dependencyProperty = AssociatedObject.GetDependencyProperties(true).FirstOrDefault(dp => dp.Name == PropertyName); if (dependencyProperty == null) { throw new ArgumentException($"Unable to find property '{PropertyName}' on object of type '{AssociatedObject.GetType().FullName}'."); } propertyWatcher.Attach(AssociatedObject); // TODO: Register/Unregister handlers when the PropertyName changes propertyWatcher.RegisterValueChangedHandler(dependencyProperty, OnPropertyChanged); Binding.AddSourceUpdatedHandler(AssociatedObject, OnSourceUpdated); }