title: Can use Blend SDK classes in code but not XAML (Prism Desktop)
body: <p>I'm trying to use a <code>CallMethodAction</code> bound to a control in a WPF Window, using the method from the Prism library samples and documentation. For some reason, the XAML compiler refuses to acknowldge that the <code>Microsoft.Expression.Interactivity.Core</code> namespace even exists. However, I have no problem using the same classes from the same namespace in the code-behind for that view.</p>
  
  <p>In XAML I've tried both the canonical namespaces:</p>
  
  <pre><code>xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  xmlns:ic="http://schemas.microsoft.com/expression/2010/interactions"
  </code></pre>
  
  <p>as well as the CLR namespace:</p>
  
  <pre><code>xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"
  </code></pre>
  
  <p>The namespace Intellisense pop-up browser displays the first namespace but neither the XML nor CLR namespaces for the second. In either case, the following XAML fails to compile:</p>
  
  <pre><code>&lt;Button HorizontalAlignment="Right" Content="Cancel"&gt;
      &lt;i:Interaction.Triggers&gt;
          &lt;i:EventTrigger EventName="Click"&gt;
              &lt;ic:CallMethodAction /&gt;
          &lt;/i:EventTrigger&gt;
      &lt;/i:Interaction.Triggers&gt;
  &lt;/Button&gt;
  </code></pre>
  
  <p>It has no problem finding the <code>Interaction.Triggers</code> tag, but complains that the <code>CallMethodAction</code> tag doesn't exist in the specified namespace. In fact, Intellisense on the <code>ic</code> namespace tag acts as if there is no such namespace. However, I do <em>not</em> get the error that the CLR namespace could not be found, which I do if I try to use a non-existant namespace.</p>
  
  <p>However, in the constructor for this window, I can do this:</p>
  
  <pre><code>var x = new Microsoft.Expression.Interactivity.Core.CallMethodAction();
  </code></pre>
  
  <p>That compiles and runs fine. How is that even possible?</p>