2011-05-17 34 views
0
<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> 

自定义文本菜单设置为一个表没有任何人有一个想法?不能RichTextBox中

回答

0

得到它,你必须手动打开文本菜单..

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

在文本菜单打开处理程序中必须设置处理参数去真实打开文本菜单

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> 

干杯

+0

在MSDN论坛得到这个答案..不知道,如果这个工程 richtextbox.IsDocumentEnabled =“真” – raphi011 2011-05-18 07:16:56