title: Unable to fire InvokeCommandAction
body: <p>On click of a textblock, I want to lift its contents in my view model and if accurate, navigate to another page. Unfortunately for me, the click event never triggers its bound command. Below is my code</p>
  
  <p>In the xaml, I have this markup</p>
  
  <pre><code>&lt;UserControl x:Class="SchoolPrism.Login.Views.Login"
  
               xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  
               xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  
               xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  
               xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  
               xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  
               xmlns:local="clr-namespace:SchoolPrism.Login.Views"
  
               xmlns:prism="http://prismlibrary.com/"
  
               xmlns:constants="clr-namespace:Infrastructure.Constants;assembly=SchoolPrismInfrastructure"
  
               xmlns:login="clr-namespace:SchoolPrism.Login.ViewModel"
  
               mc:Ignorable="d" 
  
               d:DesignHeight="300" d:DesignWidth="300"&gt;
  
      &lt;!-- when we have a view model, bind to that instead--&gt;
      &lt;Grid DataContext="{Binding login:LoginViewModel}"&gt;
          &lt;Grid.RowDefinitions&gt;
              &lt;RowDefinition/&gt;
              &lt;RowDefinition Height="5*"/&gt;
          &lt;/Grid.RowDefinitions&gt;
  
          &lt;TextBlock DataContext="{Binding}" Text="{Binding FormResults}"&gt;&lt;/TextBlock&gt;
  
          &lt;TextBlock Text="hi, can you see me?" x:Name="SchoolCode" Grid.RowSpan="2" Margin="0,50,0,0"&gt;
              &lt;i:Interaction.Triggers&gt;
                  &lt;i:EventTrigger EventName="PreviewMouseDown"&gt;
  
  &lt;!--tried replacing interactivity with prism here but it had no effect --&gt;
  &lt;i:InvokeCommandAction Command="{Binding submitForm}" CommandParameter="{Binding Text, ElementName=SchoolCode}" &gt;&lt;/i:InvokeCommandAction&gt;
                  &lt;/i:EventTrigger&gt;
              &lt;/i:Interaction.Triggers&gt;
          &lt;/TextBlock&gt;
      &lt;/Grid&gt;
  &lt;/UserControl&gt; 
  </code></pre>
  
  <p>Then, in the view model, I have this</p>
  
  <pre><code>using Prism.Commands;
  using Prism.Modularity;
  using SchoolPrism.Modules.Login;
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Windows.Input;
  
  namespace SchoolPrism.Login.ViewModel
  {
      class LoginViewModel
      {
  
          ICommand submitForm
          {
              get { return new DelegateCommand&lt;string&gt;(SubmitForm); }
          }
  
          public void SubmitForm(string code)
          {
  
              // interact with model over given code
  
              // if auth, get module instance and invoke the following
              new LoginModule().proceedToNext("AllTopics");
  
          }
      }
  }
  </code></pre>
  
  <p>Finally, in the module proper, I have</p>
  
  <pre><code>using Microsoft.Practices.ServiceLocation;
  using Microsoft.Practices.Unity;
  using Prism.Commands;
  using Prism.Modularity;
  using Prism.Mvvm;
  using Prism.Regions;
  using SchoolPrism.Login.Views;
  using System;
  using System.Windows;
  using System.Windows.Input;
  
  namespace SchoolPrism.Modules.Login
  {
      [Module(ModuleName = "LoginModule")]
      class LoginModule : BindableBase, IModule
      {
  
          IRegionManager _regionMan;
  
          // this method is called on our behalf by prism
          public void Initialize ()
          {
  
              _regionMan = ServiceLocator.Current.GetInstance&lt;iregionmanager&gt;();
  
          }
  
          public void proceedToNext (string target)
          {
  
              _regionMan.RequestNavigate("LoginForm", new Uri(target, UriKind.Relative)/*, (NavigationResult result) =&gt; { return code.Length &gt; 0; }*/);
          }
          }
   } 
  </code></pre>