0
Попытка получить выделенный текст в средстве просмотра потока к команде в качестве параметраWPF Получить текущий выбор в FlowDocumentScrollViewer в CommandParameter
<FlowDocumentScrollViewer Name="_OutputBox">
<FlowDocument>
<FlowDocument.ContextMenu >
<ContextMenu>
<MenuItem Header="New"
Command="{Binding AddDefaultTriggerCommand}"
CommandParameter="{Binding ElementName=_OutputBox, Path=Selection}">
</MenuItem>
</ContextMenu>
</FlowDocument.ContextMenu>
</FlowDocument>
</FlowDocumentScrollViewer>
В классе модели:
private RelayCommand<System.Windows.Documents.TextSelection> _AddDefaultTriggerCommand;
public ICommand AddDefaultTriggerCommand
{
get
{
...
this._AddDefaultTriggerCommand = new RelayCommand<TextSelection>(
AddDefaultTriggerCommandExecuted,...)
...
}
}
Проблема заключается в том, что в параметр передается в обработчик всегда пустой:
private void AddDefaultTriggerCommandExecuted(System.Windows.Documents.TextSelection parameter)...
Я что-то упустил? Как стандартная команда Windows Copy получает выделенный текст?
no ... it is still null. – Califf
еще одна вещь, которую я случайно встретил, что мне пришлось добавить эту строку в Window ctor, чтобы получить контекст справа: // Требуется для использования привязки ElementName в контекстном меню NameScope.SetNameScope (MainWndContextMenu, NameScope. GetNameScope (это)); в сочетании, он отлично работал, спасибо! – Califf