Exemple #1
0
 private CustomMessageBox(MessageBoxPage page, string title)
 {
     InitializeComponent();
     SizeToContent         = SizeToContent.WidthAndHeight;
     frmContent.Content    = page;
     MinHeight             = page.MinHeight + 30;
     MinWidth              = page.MinWidth;
     tblTitle.Text         = title;
     btnMin.Visibility     = Visibility.Collapsed;
     ResizeMode            = ResizeMode.CanMinimize;
     WindowStartupLocation = WindowStartupLocation.CenterOwner;
     ShowInTaskbar         = false;
 }
Exemple #2
0
        private static async Task <MessageBoxResult> _Show(string messageBoxText, string messageBoxTitle,
                                                           MessageBoxButton messageBoxButton, MessageBoxImage messageBoxImage,
                                                           MessageBoxResult messageBoxResult = MessageBoxResult.None, Window ownerWindow = null)
        {
            await Application.Current.Dispatcher.InvokeAsync(() =>
            {
                var tick = DateTime.Now.Ticks;
                var page = new MessageBoxPage(messageBoxText, messageBoxButton, messageBoxImage, tick);

                switch (messageBoxButton)
                {
                case MessageBoxButton.OKCancel:
                    page.btnOk.IsDefault = true;
                    break;

                case MessageBoxButton.OK:
                    page.btnOk.IsDefault = true;
                    break;

                case MessageBoxButton.YesNoCancel:
                    page.btnYes.IsDefault = true;
                    break;

                case MessageBoxButton.YesNo:
                    page.btnYes.IsDefault = true;
                    break;
                }

                var window = new CustomMessageBox(page, messageBoxTitle)
                {
                    WindowID = tick,
                    Owner    = ownerWindow
                };
                if (messageBoxButton == MessageBoxButton.YesNo)
                {
                    window.btnClose.IsEnabled = false;
                }

                window.ShowDialog();
                return(window.ToReturn ?? DefaultReturn(messageBoxButton, messageBoxResult));
            });

            return(messageBoxResult);
        }