Example #1
0
        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);
        }