右键单击网格内容之外时,如何在网格上的 ListBoxItem 模板上显示上下文菜单?
How to show context menu on a ListBoxItem template on a grid when right-clicking outside the contents of it?
你好,
我有一个 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>
谢谢!
将标签的 HorizontalAlignment 更改为 Stretch,使其填满整个网格单元格。
你好,
我有一个 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>
谢谢!
将标签的 HorizontalAlignment 更改为 Stretch,使其填满整个网格单元格。