title: Caliburn.Micro Screen and Conductor Lifecycle documentation
body: <p>Does anyone know a source for an overview of the Caliburn.Micro Screen/Conductor Lifecycle? For example a sequence diagram / flow chart that describes their call order/dependencies and the conditions when they get called or not?
  Until now I have primarily uses OnViewLoaded but I want to know which are called a second time (when shown again) etc. I didn't found a good documentation about the Screen Lifecycle yet.</p>
  
  <p>And yes, I know it is Open Source and I can read the source code or debug that (what I'm doing at the moment)... just thought that this requirement is somewhat basic to work with Caliburn.Micro and there must be something already done and I don't need to create that overview on my own. Maybe the answer might help someone else, too. ;-)</p>
  
  <p>For example, when derriving from Conductor.Collection.OneActive
  there are the following (and even more) methods that seem to play a role in the lifecycle and can be overloaded:</p>
  
  <pre><code>protected virtual void OnInitialize()
  
  protected virtual void OnActivate()
  
  protected virtual void OnActivationProcessed(IScreen item, bool success)
  
  protected virtual void OnDeactivate(bool close)
  
  protected virtual void OnViewAttached(object view, object context)
  
  protected virtual void OnViewLoaded(object view)
  
  protected virtual void OnViewReady(object view)
  </code></pre>
  
  <p>What I have seen so far this seems to be the order (app startup to exit):</p>
  
  <ol>
  <li>OnViewAttached</li>
  <li>OnInitialize</li>
  <li>OnActivate</li>
  <li>OnViewReady</li>
  <li>OnViewLoaded</li>
  <li>OnActivationProcessed</li>
  <li>OnDeactivate</li>
  </ol>
  
  <p>But what are the bullet points for each method? E.g. when is the datacontext set, the style template applied to the view and ready to be shown? When is the view shown? (difference between ViewReady and ViewLoaded?)</p>