title: MessageBox is not recommended in MVVM applications?
body: <p>When I asked about how to implement a dialog in MVVM someone advised me to read this thread:</p>
  
  <p><a href="https://stackoverflow.com/questions/25779674/mvvm-dialogservice-and-dialog-result">MVVM, DialogService and Dialog Result</a></p>
  
  <p>In the view model, the dialog is called in this way:</p>
  
  <pre><code>var dialog = new DialogViewmodel();
  var result = _dialogservice.ShowDialog("My Dialog", dialog);
  
  if(result.HasValue &amp;&amp; result.Value)
  {
      //accept true
  }
  else
  {
      //Cancel or false
  }
  </code></pre>
  
  <p>But is this different than using a messageBox in this way?</p>
  
  <pre><code>DialogResult result = MessageBox.Show("Hello");
  
  if(result == DialgoResult-OK)
  {
      //accept true
  }
  else
  {
      //Cancel or false
  }
  </code></pre>
  
  <p>In this second case, I use MessageBox instead of the custom dialog, so I don't see any difference.</p>
  
  <p>Anyway, in many cases I have read that to use a MessageBox in MVVM application it is a bad idea because it breaks the MVVM pattern. But really if this is true, I don't see how the first solution doesn't break the MVVM pattern and the second one breaks it.</p>