Как изменить контекстное меню выбора текста? - PullRequest
0 голосов
/ 12 мая 2018

Я нашел способ изменить главное контекстное меню, щелкнув правой кнопкой мыши в считывателе потокового документа, добавив такой стиль.(на основе этот ответ аналогичен форматированному текстовому полю)

<Controls:MetroWindow.Resources>
    <Style TargetType="FlowDocument">
        <Setter Property="ContextMenu">
            <Setter.Value>
                <ContextMenu>
                    <MenuItem Header="Test" />
                    <MenuItem Header="Copy" Command="ApplicationCommands.Cut"/>
                    <MenuItem Header="SelectAll" Command="ApplicationCommands.SelectAll"/>
                    <MenuItem Header="Test" />
                </ContextMenu>
            </Setter.Value>
        </Setter>
    </Style>
    <!--<viewModel:MainWindow_VM x:Key="mainWindow_VM"></viewModel:MainWindow_VM>-->
</Controls:MetroWindow.Resources>

<FlowDocumentReader x:Name="textBox" Grid.Row="1" Margin="0,10,372,10" FontFamily="Tahoma" Grid.RowSpan="2" HorizontalAlignment="Right" Width="360" PreviewMouseLeftButtonUp="textBox_PreviewMouseLeftButtonUp" Document="{Binding document}">
</FlowDocumentReader>

Это работает,

enter image description here

однако проблема в том, что когда я выбираю (выделяю) текст в документе, он отображает другое контекстное меню.

enter image description here

Это фактическое контекстное меню, которое я хочу изменить, потому что я хочу выполнить некоторую команду для выделенного текста.

Кто-нибудь знает, как получить доступ и изменить это конкретное контекстное меню выбора текста?

РЕДАКТИРОВАТЬ Просто чтобы быть понятным, переход на другой элемент управления не является решением.Элемент управления FlowDocumentReader - мой единственный вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...