无法将自定义上下文菜单设置为富文本框中的表

本文关键字:文本 设置 自定义 上下文 菜单 | 更新日期: 2023-09-27 17:56:55

<Window.Resources>
  <ContextMenu x:Key="TableContextMenu">
   <MenuItem Command="Copy" />
   <MenuItem Header="asdasdsad" />
  </ContextMenu>
  <Style TargetType="{x:Type Table}">
   <Setter Property="ContextMenu" Value="{StaticResource TableContextMenu}" />
  </Style>
 </Window.Resources>

有人有想法吗?

无法将自定义上下文菜单设置为富文本框中的表

知道了,您必须手动打开上下文菜单..

<Style TargetType="{x:Type TableCell}">
        <EventSetter Event="ContextMenuOpening" Handler="Table_ContextMenuOpening" />
        <Setter Property="ContextMenu" Value="{StaticResource TableContextMenu}" />
    </Style>

在上下文菜单打开处理程序中,您必须将处理的参数设置为 true 并打开上下文菜单

lastTableCell.ContextMenu.IsOpen = true;

如果上下文菜单中的命令灰显:afaik 这是一个错误,您必须将命令绑定直接放入 XAML 的上下文菜单中

<ContextMenu x:Key="TableContextMenu">
        <ContextMenu.CommandBindings>
            <CommandBinding Command="{x:Static main:MainWindow.AddRowAboveCommand}"
                    CanExecute="CanExecuteAlways"
                    Executed="AddRowAbove_Executed" />
        </ContextMenu.CommandBindings>

干杯