public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) return null; WallDetails wallDetails = (WallDetails)value; Point origin = (Point)parameter; WallElementDetails newWallElementDetails = new WallElementDetails(); newWallElementDetails.StartPoint = new Point(wallDetails.StartEchelonPoint.X + origin.X, wallDetails.StartEchelonPoint.Y + origin.Y); newWallElementDetails.EndPoint = new Point(wallDetails.EndEchelonPoint.X + origin.X, wallDetails.EndEchelonPoint.Y + origin.Y); return newWallElementDetails; }
private void OnWallDetailsChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { WallElementDetails newWallElementDetails = new WallElementDetails(); newWallElementDetails.StartPoint = GetAsPoint(WallDetails.StartEchelonPoint); newWallElementDetails.EndPoint = GetAsPoint(WallDetails.EndEchelonPoint); newWallElementDetails.IsFinal = true; WallElementDetails = newWallElementDetails; if (WallDetails.IsFinal) { WallDetails.IsFinal = false; } }