private void GridSettingsAnimation() { if (IsGridSettingsOpen) { DoubleAnimation da = new DoubleAnimation(); da.From = GridSettings.ActualWidth; da.To = 0; da.Duration = TimeSpan.FromSeconds(1); BtnArrow.Visibility = Visibility.Visible; ThicknessAnimation ta = new ThicknessAnimation(); Thickness thick = new Thickness(-column1.ActualWidth, 0, 0, 0); ta.From = new Thickness(0, 0, 0, 0); ta.To = thick; ta.Duration = TimeSpan.FromSeconds(1); GridSettings.BeginAnimation(Grid.MarginProperty, ta); GridSettings.BeginAnimation(Grid.WidthProperty, da); } else { GridSettings.Width = 0; DoubleAnimation da = new DoubleAnimation(); da.From = 0; da.To = column1.ActualWidth; da.Duration = TimeSpan.FromSeconds(1); BtnArrow.Visibility = Visibility.Hidden; GridSettings.Visibility = Visibility.Visible; ThicknessAnimation ta = new ThicknessAnimation(); Thickness thick = new Thickness(-column1.ActualWidth, 0, 0, 0); ta.From = thick; ta.To = new Thickness(0, 0, 0, 0); ta.Duration = TimeSpan.FromSeconds(1); GridSettings.BeginAnimation(Grid.MarginProperty, ta); GridSettings.BeginAnimation(Grid.WidthProperty, da); } }