ListBox绑定MVVM事件问题


我在使用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事件,请问应该怎么解决


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM