title: Why RelayCommand
body: <p>I've been programming a lot in WPF lately but my View and ViewModel are not separate at this point. Well, it's partially. All my bindings concerned to text in text boxes, content for labels, lists in datagrids, ... are done by regular properties with a NotifyPropertyChanged event in them.</p>
  
  <p>All my events for handling button clicks or text changed stuff is done by linking the events. Now, I wanted to start working with commands and found this article: <a href="http://www.codeproject.com/Articles/126249/MVVM-Pattern-in-WPF-A-Simple-Tutorial-for-Absolute" rel="noreferrer">http://www.codeproject.com/Articles/126249/MVVM-Pattern-in-WPF-A-Simple-Tutorial-for-Absolute</a>. It has an explanation of how to set up MVVM but I'm confused with the <code>RelayCommand</code>.</p>
  
  <p>What job does it do?
  Is it useable for all commands in my form?
  How do I make the button disable when (a) certain text box(es) are not filled in?</p>
  
  <hr>
  
  <p>EDIT 1:</p>
  
  <p>A good explanation to "Is it useable for all commands in my form?" is answered here: <a href="https://stackoverflow.com/a/22286816/3357699">https://stackoverflow.com/a/22286816/3357699</a></p>
  
  <p>Here is the code I have so far: <a href="https://stackoverflow.com/a/22289358/3357699">https://stackoverflow.com/a/22289358/3357699</a></p>