private void ShowInfoBox(string type = "", string text = "", int height = 0) { const int margin1 = 375; const int margin2 = 255; var converter = new BrushConverter(); switch (type) { case "error": InfoBox.Background = (Brush)converter.ConvertFromString("#B00020"); InfoBoxIcon.Kind = PackIconKind.ErrorOutline; break; case "warning": InfoBox.Background = (Brush)converter.ConvertFromString("#FF8800"); InfoBoxIcon.Kind = PackIconKind.WarningOutline; break; case "success": InfoBox.Background = (Brush)converter.ConvertFromString("#007E33"); InfoBoxIcon.Kind = PackIconKind.CheckOutline; break; case "info": InfoBox.Background = (Brush)converter.ConvertFromString("#0099CC"); InfoBoxIcon.Kind = PackIconKind.InfoOutline; break; default: { if (InfoBox.Margin != new Thickness(0, 0, 0, margin1)) { return; } var taClose = new ThicknessAnimation(InfoBox.Margin, new Thickness(0, 0, 0, margin2), TimeSpan.FromSeconds(0.4)); InfoBox.BeginAnimation(MarginProperty, taClose); return; } } InfoBoxText.Text = text; var ta = new ThicknessAnimation(new Thickness(0, 0, 0, margin2), new Thickness(0, 0, 0, margin1 + height), TimeSpan.FromSeconds(0.4)); InfoBox.BeginAnimation(MarginProperty, ta); }