Перед тем, как начать, у меня есть этот код внутри пользовательского элемента управления:
private DependencyProperty _rotation = DependencyProperty.Register("Rotation", typeof(double), typeof(MyControl),
new PropertyMetadata(new PropertyChangedCallback(RotationPropertyChanged)));
public double Rotation
{
get { return (double)GetValue(_rotation); }
set { SetValue(_rotation, value); }
}
public static void RotationPropertyChanged(DependencyObject obj, System.Windows.DependencyPropertyChangedEventArgs e)
{
//How can I start Animation, as I'm in a Static method?
}
Свойства устанавливаются правильно, и моя функция RotationPropertyChanged также вызывается правильно. Как видите, мой комментарий в этом методе - мой вопрос. Так как этот обработчик ДОЛЖЕН быть статичным (VS сказал мне об этом), как я могу получить доступ к нестатическим вещам, таким как раскадровка, чтобы я мог запустить анимацию?
Для уточнения привязки данных:
My Viewmodel обновляет свойство (расположенное в той же модели представления), которое привязано к этому свойству зависимости через Xaml. Я хотел бы не использовать этот обратный вызов, но свойство не будет изменено без него.
Спасибо