title: How to use Message.Attach to call methods inside another object
body: <p>I have a view model which has another class set as its property. The another class contains implementations of ICommand as its properties. I would like to execute one of the commands on a double click. </p>
  
  <p>Unfortunatelly, Caliburn.Micro raises an exception instead ("No target found for method Commands.Command.Execute.").</p>
  
  <p>I've tried to search the net and read the documentation, but without any success.</p>
  
  <p>How to do it correctly?</p>
  
  <p>Note: In real application, the message might be attached to a grid view which might have a different DataContext than the view model containing the commands class.</p>
  
  <p>The XAML:</p>
  
  <pre><code>&lt;Window x:Class="WpfApplication8.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:cal="http://www.caliburnproject.org"&gt;
      &lt;Grid&gt;
          &lt;TextBox 
              cal:Message.Attach="[Event MouseDoubleClick] 
                 = [Action Commands.Command.Execute(null)]" /&gt;
      &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>The code-behind class:</p>
  
  <pre><code>namespace WpfApplication8
  {
      public partial class MainWindow
      {
          public Commands Commands { get; set; }
  
          public MainWindow()
          {
              this.Commands = 
                  new Commands { Command = new Command { MainWindow = this } };
  
              this.InitializeComponent();
  
              this.DataContext = this;
          }
      }
  
      public class Commands
      {
          public Command Command { get; set; }
      }
  
      public class Command
      {
          public MainWindow MainWindow { get; set; }
  
          public void Execute(object parameter)
          {
              this.MainWindow.Title = "Executed";
          }
      }
  }
  </code></pre>