Я использовал этот код для анимации моего окна:
winLogin login = new winLogin();
login.Owner = this;
login.Show();
DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.To = this.Left + ((this.Width - login.Width) / 2);
da.AutoReverse = false;
da.Duration = new Duration(TimeSpan.FromSeconds(0.1));
login.BeginAnimation(Window.LeftProperty, da);
Проблема в том, что всякий раз, когда я устанавливаю свойство Left
этого окна (после анимации), оно сходит с ума.
Я использовал этот код для выравнивания дочерних окон, чтобы они всегда были в центре, но свойство Left
окон, в которых я использовал анимацию, не может быть изменено должным образом.
private void Window_LocationChanged(object sender, EventArgs e)
{
foreach (Window win in this.OwnedWindows)
{
win.Top = this.Top + ((this.Height - win.Height) / 2);
win.Left = this.Left + ((this.Width - win.Width) / 2);
}
}