我想将图标绑定到 WPF 数据网格中的上下文菜单项。虽然这适用于数据网格本身的上下文菜单(右键单击数据网格中的空白区域),但它不适用于数据网格中的项目(右键单击数据行)。任何想法为什么这不起作用?感谢您的回答。
代码:
datagridTarget.DataContext = contextIcons;
// contextIcons contains the icon elements
XAML:
<DataGrid Name="datagridTarget">
<DataGrid.Resources>
<ContextMenu x:Key="DGTContextMenu">
<MenuItem Header="Delete" Click="datagridTargetDelete_Click">
<MenuItem.Icon>
<Image Height="16" Width="16" Source="{Binding ContextDeleteIcon}"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</DataGrid.Resources>
<ContextMenuService.ContextMenu>
<ContextMenu>
<MenuItem Header="Delete" Click="datagridTargetDelete_Click">
<MenuItem.Icon>
<Image Height="16" Width="16" Source="{Binding ContextDeleteIcon}"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</ContextMenuService.ContextMenu>
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="Auto" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image ContextMenu="{DynamicResource DGTContextMenu}" Height="16" Width="16" Source="{Binding ObjectImage}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>