2011-05-17 44 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