• 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事件,请问应该怎么解决

    代码之美
  • 相关阅读:
    外星人(alien)
    6. 第 6 章 函数
    5. 第 5 章 循环
    4. 第 4 章 条件选择
    3. 第 3 章 表达式和交互
    2. 第 2 章 C++简介
    1. 第 1 章 计算机和编程简介
    24. 蛇形填数
    23. 开灯问题
    12. aabb
  • 原文地址:https://www.cnblogs.com/betterchaner/p/2521615.html
Copyright © 2020-2023  润新知