2015-05-09 67 views
0

我有ListBoxItems包含3列的模板。每個項目都由圖片文字圖片表示。是否有一些posibillity如何通過單擊ListBoxItem中的第三列(不包括項目上的其他地方)觸發事件(例如PreviewMouseLeftButtonDown)。我知道如何通過點擊整個ListBoxItem來觸發它,但我需要它只在點擊最後一列(圖片)時觸發它。謝謝。WPF觸發事件通過點擊列表框中SelectedItem的指定內容

<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> 

我試過建議的解決方案,它的工作原理。謝謝。

回答

0

只能爲部件設置的事件監聽器,你想:

<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> 

相關問題