title: Switching between view mode and edit mode in MVVM?
body: <p>I am new to MVVM and I've decided to move on and start adopting it in my upcoming projects.</p>
  
  <p>I have read this related question and answer, but I don't know how this would be implemented with MVVM.</p>
  
  <p>I want all the views in my project to have 2 modes, Edit Mode and View Mode.<br>
  I don't want the user by default to see TextBoxes for all the fields, I rather want them to see TextBlocks (or set all the <code>TextBoxe</code>s' as <code>IsReadOnly</code> property to true (via style etc. you tell me..).</p>
  
  <p>When the user opens up the entity it should usually be TextBlocks, Labels (or readonly TextBoxes) etc., and if he clicks "Edit" (if he has permission to), it should go Edit Mode, and all the fields' labels should be inverted to TextBoxes (RichTextBoxes etc., ComboBoxes or any other editable fields that are not just labels).</p>
  
  <p>I am pretty sure I am not the only one having this issue, I would like to hear from the experts what is the most efficient way to switch between these modes in pure MVVM, and whether it's is common to declare two separate views for it.</p>
  
  <p>Please refer me to a good article that explains how to do it (maybe it is done by Visual State?? IDK).</p>
  
  <p><strong>UPDATE</strong><br>
  I want to know WHAT rather than HOW, my question is about the pattern, and is <strong>should I separate Edit Mode
  from View Mode at either the V or the VM?</strong>
  So please emphasize this detail in your answer.</p>
  
  <p>Thanks in advance.</p>