WPF触发事件通过单击ListBox中的SelectedItem的指定内容



我有包含3列的ListBoxItems模板。每个项目以图片文本图表表示。仅通过单击listBoxItem中的第三列(不在项目上的其他位置),是否有一些posibillity如何触发事件(例如PreviewMouseleftButtondown)。

我知道如何通过单击整个ListBoxItem来触发它,但是我只需要在单击最后一列(图片)时才需要触发它。谢谢。

<ListBox.ItemTemplate>
 <DataTemplate>
   <Grid Margin="0,4,0,4">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="20" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="20" />
       </Grid.ColumnDefinitions>
       <Image Source="images/showFile.png" Grid.Column="0" Height="16" Width="16"/>
       <TextBlock Text="{Binding Name}" Grid.Column="1"/>
       <Image Source="images/delete.png" Grid.Column="2" Height="16" Width="16"/>                        
  </Grid>
 </DataTemplate>
</ListBox.ItemTemplate>

我尝试了提出的解决方案,并且可以使用。谢谢。

您只能为您想要的组件设置事件侦听器:

<ListBox.ItemTemplate>
    <DataTemplate>
        <Grid Margin="0,4,0,4">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="20" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="20" />
            </Grid.ColumnDefinitions>
        <Image Source="images/showFile.png" Grid.Column="0" Height="16" Width="16"/>
        <TextBlock Text="{Binding Name}" Grid.Column="1"/>
        <Image Source="images/delete.png" Grid.Column="2" Height="16" Width="16" PreviewMouseLeftButtonDown="OnPreviewMouseLeftButtonDown"/>                        
    </Grid>
 </DataTemplate>

最新更新