public PropertyChangeNotifier(DependencyObject propertySource, PropertyPath property)
        {
            propertySource.CheckNotNull(nameof(propertySource));
            property.CheckNotNull(nameof(property));

            _propertySource = new WeakReference(propertySource);
            var binding = new Binding
            {
                Path   = property,
                Mode   = BindingMode.OneWay,
                Source = propertySource
            };

            BindingOperations.SetBinding(this, ValueProperty, binding);
        }