title: WPF: can't pass System.Int32 as CommandParameter
body: <p>I have a <code>Button</code> with an attached <code>Command</code>:</p>
  
  <pre><code>&lt;Button Command="{Binding Path=command}"&gt;
      &lt;Button.CommandParameter&gt;
          &lt;s:String&gt;1&lt;/s:String&gt;
      &lt;/Button.CommandParameter&gt;
  &lt;/Button&gt;
  </code></pre>
  
  <p>where the <code>command</code> is:</p>
  
  <pre><code>public ICommand command
  {
      get { return new DelegateCommand&lt;string&gt;((string str) =&gt; MessageBox.Show(str)); }
  }
  </code></pre>
  
  <p>So far everything works fine. When I press the button, the <code>MessageBox</code> with "1" message is shown.</p>
  
  <p>But when I'm trying to pass a <code>System.Int32</code> value as <code>CommandParameter</code>, no message is shown:</p>
  
  <pre><code>&lt;Button Command="{Binding Path=command}"&gt;
      &lt;Button.CommandParameter&gt;
          &lt;s:Int32&gt;1&lt;/s:Int32&gt;
      &lt;/Button.CommandParameter&gt;
  &lt;/Button&gt;
  
  public ICommand command
  {
      get { return new DelegateCommand&lt;System.Int32&gt;((System.Int32 n) =&gt; MessageBox.Show(n.ToString())); 
  }
  </code></pre>
  
  <p>What am I doing wrong?</p>