ListBoxバインドMVVMイベントの問題

6924 ワード

MVVMLightを使用している間にListBoxのListBoxItemにTapイベントをバインド 
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP71"

 
<ListBoxItem>

      <StackPanel>

            <i:Interaction.Triggers>

                   <i:EventTrigger EventName="Tap">

                            <cmd:EventToCommand Command="{Binding TapCommand}"></cmd:EventToCommand>

                   </i:EventTrigger>

             </i:Interaction.Triggers>

            <TextBlock Text="11"></TextBlock>

            <TextBlock Text="222"></TextBlock>

      </StackPanel>

</ListBoxItem>
public ICommand TapCommand { get; set; }



TapCommand = new RelayCommand(Tapped);



void Tapped()

{

            MessageBox.Show("test");

}

これはTapイベントを傍受できる
しかし、私は今テンプレートを使用して、バックグラウンドでデータをバインドします.
テンプレートは次のとおりです.
<ListBox ItemsSource="{Binding Path=UserList}">

            <ListBox.ItemTemplate>

                <DataTemplate>

                    <StackPanel>

                        <i:Interaction.Triggers>

                            <i:EventTrigger EventName="Tap">

                                <cmd:EventToCommand Command="{Binding TapCommand}"></cmd:EventToCommand>

                            </i:EventTrigger>

                        </i:Interaction.Triggers>

                        <TextBlock Text="{Binding id}"></TextBlock>

                        <TextBlock Text="{Binding name}"></TextBlock>

                    </StackPanel>

                </DataTemplate>

            </ListBox.ItemTemplate>

        </ListBox>

この时Tapページ、Tap事件を傍受することができなくて、どのように解决するべきです