#c# #wpf #contextmenu #richtextbox
#c# #wpf #контекстное меню #richtextbox
Вопрос:
<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>
У кого-нибудь есть идея?
Ответ №1:
Понял, вам нужно вручную открыть контекстное меню..
<Style TargetType="{x:Type TableCell}">
<EventSetter Event="ContextMenuOpening" Handler="Table_ContextMenuOpening" />
<Setter Property="ContextMenu" Value="{StaticResource TableContextMenu}" />
</Style>
В обработчике открытия contextmenu вы должны установить для обрабатываемого параметра значение true и открыть contextmenu
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>
Приветствия
Комментарии:
1. Получил этот ответ на форумах msdn .. не знаю, работает ли это в richtextbox. IsDocumentEnabled=»true»