ListBoxバインドMVVMイベントの問題
6924 ワード
MVVMLightを使用している間にListBoxのListBoxItemにTapイベントをバインド
これはTapイベントを傍受できる
しかし、私は今テンプレートを使用して、バックグラウンドでデータをバインドします.
テンプレートは次のとおりです.
この时Tapページ、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事件を傍受することができなくて、どのように解决するべきです