Я пытаюсь погрузиться в некоторые вещи, относящиеся к WPF, и еще не нашел конкретной связи между методом UIElement.AddHandler и методом EventManager.RegisterClassHandler.
Я немного погуглил и нашел эту интересную статью MSDN:
http://msdn.microsoft.com/en-us/library/ms747183.aspx
Здесь говорится:
«Перенаправленные события рассмотрим два разных типа слушателей события: слушатели классов и слушатели экземпляров. Слушатели классов существуют потому, что типы вызвали конкретный API EventManager, RegisterClassHandler, в своем статическом конструкторе или переопределили виртуальный метод обработчика класса из базового класса элемента. как я могу рассчитать свое положение через 10 секунд?
например: GPSCoordinate predictedCoord = GPSCoordinate.FromLatLong (0, 0) .AddByMovement (32, 15, TimeSpan.FromSeconds (10));
Изменить: Текущий код на основе ответа ниже:
public GPSCoordinate AddMovementMilesPerHour(double heading, double speedMph, TimeSpan duration)
{
double x = speedMph * System.Math.Sin(heading * pi / 180) * duration.TotalSeconds / 3600;
double y = speedMph * System.Math.Cos(heading * pi / 180) * duration.TotalSeconds / 3600;
double newLat = this.Latitude + 180 / pi * y / earthRadius;
double newLong = this.Longitude + 180 / pi / System.Math.Sin(this.Latitude * pi / 180) * x / earthRadius;
return GPSCoordinate.FromLatLong(newLat, newLong);
}