private void ContentRoot_SizeChanged(object sender, SizeChangedEventArgs e) { contentRoot.SizeChanged -= new SizeChangedEventHandler(ContentRoot_SizeChanged); double dx = -(e.NewSize.Width.ValueOrZero() - e.PreviousSize.Width.ValueOrZero()) / 2; double dy = -(e.NewSize.Height.ValueOrZero() - e.PreviousSize.Height.ValueOrZero()) / 2; Point point = Position.Add(dx, dy); MoveWindow(point); }