WPF: свойство CLR для свойства зависимости - PullRequest
0 голосов
/ 10 марта 2011

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

public double X
    {
        get
        {
            return Canvas.GetLeft(this) + this.Radius;
        }
        set
        {
            Canvas.SetLeft(this, value - this.Radius);
            PropertyChanged(this, new PropertyChangedEventArgs("X"));
        }
    }

Я хочу использовать анимацию, связанную с этим свойством, но для анимации требуется только свойство зависимости. Как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Может показаться, что вы хотите, чтобы "X" был центром вашего объекта (эллипс?)

Я могу предложить две вещи:

  1. Создать новыйЗависимость proeprty и поместите ваш установочный код в обратный вызов OnPropertyChanged для нового свойства.(Это, вероятно, лучше всего)

  2. Установите RenderTransform для вашего элемента, который является TranslateTransform с -Radius, тогда установка Canvas.Left будет аналогична установке его центра.

1 голос
/ 10 марта 2011

Ну, все, что делает это свойство, получает его значение из Canvas.Left. Почему бы вам не оживить Canvas.Left напрямую?

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