title: MetroWindow.RightWindowCommands in dynamically created MetroWindow
body: <p>How to bind/create MetroWindow.RightWindowCommands in dynamically created MetroWindow through Caliburn.Micro IWindowManager Show method?</p>
  
  <p>For example, I've created a custom IWindowManager implementation to always create MetroWindow instead of default Window. So whenever a new Window is created from Caliburn, it will be MetroWindow instance.</p>
  
  <p>I have a logic that creates dynamically windows through IWindowManager:</p>
  
  <p><strong>ChatManager</strong></p>
  
  <pre><code>public class ChatManager : IChatManager
  {
      private readonly IChatWindowSettings chatWindowSettings;
      private readonly IWindowManager windowManager;
      private readonly IChatFactory chatFactory;
      private IDictionary&lt;WeakReference, WeakReference&gt; chats;
  
      public ChatManager(IChatWindowSettings chatWindowSettings, IWindowManager windowManager, IChatFactory chatFactory)
      {
          this.chatWindowSettings = chatWindowSettings;
          this.windowManager = windowManager;
          this.chatFactory = chatFactory;
  
          chats = new Dictionary&lt;WeakReference, WeakReference&gt;();
      }
  
      public void OpenFor(ISender sender)
      {
          var settings = chatWindowSettings.Create();
          var viewModel = CreateOrGetViewModel(sender);
          windowManager.ShowWindow(viewModel, null, settings);
      }
      private IChat CreateOrGetViewModel(ISender sender){//code...}
  </code></pre>
  
  <p>Those windows are chat windows. This works great. However, I'd like to bind/create a button directly in the MetroWindow RightCommands. This button would be bound to the IChat implementation (which is a view-model):</p>
  
  <pre><code>public class ChatViewModel : Screen, IChat
  {
     public void DoSomething(){}
  }
  </code></pre>
  
  <p>How can I accomplish such thing?</p>