如何在网格上的ListBoxItem模板上右键单击它的内容时显示上下文菜单?

时间:2017-12-23 16:23:15

标签: c# wpf contextmenu datatemplate

您好,

我有ListBox.ItemTemplate(显然包含DataTemplate),其中包含Grid,其本身包含Label

Grid有一个Grid.ContextMenu。问题是ContextMenu仅在我右键点击 Label 时显示。不在外面。

如果您不了解(但我相信您确实这样做了),这是一张显示问题的图片!)

以下是代码:

<ListBox.ItemTemplate>
   <DataTemplate>
      <Grid Margin="0,0,0,1">
         <Grid.ContextMenu>
            <ContextMenu>
               <MenuItem CommandParameter="{Binding}" Command="{Binding Source={x:Reference window}, Path=DataContext.DeleteCommand}" Header="Supprimer">
                  <MenuItem.Icon>
                     <Image Source="/SchoolTools.Teacher;component/Images/DeleteIcon.png" />
                  </MenuItem.Icon>
               </MenuItem>
            </ContextMenu>
         </Grid.ContextMenu>
         <Label Content="{Binding ClassYear}" Padding="0" 
          HorizontalAlignment="Center" />
      </Grid>
   </DataTemplate>
</ListBox.ItemTemplate>

谢谢!

1 个答案:

答案 0 :(得分:1)

将标签的Horizo​​ntalAlignment更改为Stretch,以便填充整个网格单元格。