Inheritance: INotifyPropertyChanged
Beispiel #1
0
 public static MessageBoxWindowResult Show(MessageBoxViewModel viewModel)
 {
     MessageBoxWindow window = new MessageBoxWindow();
     window.ViewModel = viewModel;
     if (viewModel.IsDialog)
         window.ShowDialog();
     else
         window.Show();
     return window.ViewModel.Result;
 }
Beispiel #2
0
 public void SetViewModel(MessageBoxViewModel viewModel)
 {
     if (viewModel != null)
     {
         LayoutRoot.SetBinding(FrameworkElement.DataContextProperty, new Binding() { Source = ViewModel });
         switch (viewModel.Buttons)
         {
             case MessageBoxWindowButtons.OK:
                 btnOK.Visibility = System.Windows.Visibility.Visible;
                 btnYes.Visibility = System.Windows.Visibility.Collapsed;
                 btnNo.Visibility = System.Windows.Visibility.Collapsed;
                 btnCancel.Visibility = System.Windows.Visibility.Collapsed;
                 break;
             case MessageBoxWindowButtons.OKCancel:
                 btnOK.Visibility = System.Windows.Visibility.Visible;
                 btnYes.Visibility = System.Windows.Visibility.Collapsed;
                 btnNo.Visibility = System.Windows.Visibility.Collapsed;
                 btnCancel.Visibility = System.Windows.Visibility.Visible;
                 break;
             case MessageBoxWindowButtons.YesNo:
                 btnOK.Visibility = System.Windows.Visibility.Collapsed;
                 btnYes.Visibility = System.Windows.Visibility.Visible;
                 btnNo.Visibility = System.Windows.Visibility.Visible;
                 btnCancel.Visibility = System.Windows.Visibility.Collapsed;
                 break;
             case MessageBoxWindowButtons.YesNoCancel:
                 btnOK.Visibility = System.Windows.Visibility.Collapsed;
                 btnYes.Visibility = System.Windows.Visibility.Visible;
                 btnNo.Visibility = System.Windows.Visibility.Visible;
                 btnCancel.Visibility = System.Windows.Visibility.Visible;
                 break;
             default:
                 break;
         }
     }
 }
Beispiel #3
0
 void MessageBoxWindow_DataContextChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e)
 {
     if (e.NewValue.GetType().Equals(typeof(MessageBoxViewModel)))
         this.ViewModel = e.NewValue as MessageBoxViewModel;
 }
Beispiel #4
0
        /// <summary>
        //     유효성 검사 결과의 메시지 상자를 표시합니다.
        /// </summary>
        /// <param name="ex">표시할 유효성 검사 결과 개체</param>
        public static MessageBoxWindowResult Show(RuleViolation ruleViolation)
        {
            RuleViolation rule = ruleViolation;
            MessageBoxViewModel viewModel = new MessageBoxViewModel()
            {
                Caption = "Error",
                Header = String.Format("{0}이(가) 유효하지 않습니다.", rule.PropertyName),
                HeaderIcon = MessageBoxWindowIcons.Warning,
                Description = rule.ErrorMessage
            };

            return Show(viewModel);
        }
Beispiel #5
0
 /// <summary>
 //     유효성 검사 결과의 메시지 상자를 표시합니다.
 /// </summary>
 /// <param name="ex">표시할 유효성 검사결과의 열거형 리스트입니다.</param>
 public static MessageBoxWindowResult Show(IEnumerable<RuleViolation> ruleViolations)
 {
     RuleViolation rule = ruleViolations.First();
     MessageBoxViewModel viewModel = new MessageBoxViewModel()
     {
         Caption = "Error",
         Header = String.Format("{0}이(가) 유효하지 않습니다.", rule.PropertyName),
         HeaderIcon = MessageBoxWindowIcons.Warning,
         Description = rule.ErrorMessage
     };
     foreach (var item in ruleViolations)
     {
         viewModel.Details += String.Format("[{0}] : {1}\n", rule.PropertyName, rule.ErrorMessage);
     }
     return Show(viewModel);
 }
Beispiel #6
0
 /// <summary>
 /// ViewModel을 사용한 메세지 상자를 표시합니다.
 /// </summary>
 /// <param name="viewModel">Yuhan.WPF.MessageBox.MessageBoxViewModel</param>
 /// <returns>Yuhan.WPF.MessageBox.MessageBoxWindowResult 값 중 하나입니다.</returns>
 public static MessageBoxWindowResult Show(MessageBoxViewModel viewModel)
 {
     return MessageBoxWindow.Show(viewModel);
 }