Как смоделировать вставку в текстовое поле WPF? - PullRequest
1 голос
/ 05 августа 2010

В моем приложении WPF есть TextBox, к которому я добавил событие Paste:

DataObject.AddPastingHandler(elm, new DataObjectPastingEventHandler(OnPaste));

Теперь я хочу вызвать событие OnPaste из кода C #. Как я могу это сделать? Я попытался вызвать функцию Paste () для элемента управления. Текст вставляется в элемент управления, но событие OnPaste не вызывается ..:

private static void Foo(TextBox textBox, string pastedText)
{
    Clipboard.SetData(DataFormats.Text, pastedText);
    textBox.Paste();
}

Ответы [ 2 ]

4 голосов
/ 05 августа 2010

Вызовите ApplicationCommand Вставить :

ApplicationCommands.Paste.Execute(this, pastedText)

Обратите внимание, что это не будет работать при частичном доверии!

1 голос
/ 05 августа 2010

Вы можете сделать это с помощью отражения.Вам нужно найти поле закрытого делегата, а затем вызвать его.

См. Как: подключить делегата с помощью отражения .

...