DependencyProperty обновляется только один раз - PullRequest
0 голосов
/ 02 марта 2019

У меня есть пользовательский элемент управления с DependencyProperty

public Point EndPoint
    {
        get { return (Point)GetValue(EndPointProperty); }
        set { SetValue(EndPointProperty, value); }
    }


    public static readonly DependencyProperty EndPointProperty =
        DependencyProperty.Register("EndPoint", typeof(Point), typeof(Speedometer), new FrameworkPropertyMetadata(new Point(100,100),FrameworkPropertyMetadataOptions.AffectsRender));

и где-то в логике DefiningGeometry я звоню

EndPoint = new Point(xEnd, yEnd);

В xaml, где я использую это, у меня есть другой элемент управления иЯ пытаюсь привязать Canvas.Left к EndPoint.X моего пользовательского элемента управления

<Rectangle Fill="White" Height="50" Width="50" x:Name="Grip" Canvas.Left="{Binding ElementName=control, Path=EndPoint.X}" Canvas.Top="{Binding ElementName=control, Path=EndPoint.Y}">

Обновление, похоже, запускается только один раз, потому что результат зависит от значения по умолчанию DependencyProperty.Как сделать так, чтобы оно обновлялось все время при изменении значения свойства?

1 Ответ

0 голосов
/ 02 марта 2019

Хорошо, я понял.

Сначала я реализовал INotifyPropertyChanged в своем пользовательском элементе управления, затем после установки свойства я звоню OnPropertyChanged(nameof(EndPoint)); Я думал, что DependencyProperty может уведомлять об изменениях свойств двумя способами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...