如何在WPF TextBox中模拟粘贴?

时间:2010-08-05 09:00:31

标签: c# .net wpf onpaste

我的WPF应用程序中有一个TextBox,我在其中添加了一个粘贴事件:

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

现在我想从C#代码触发OnPaste事件。我怎样才能做到这一点?我试着在控件上调用Paste()函数。文本粘贴在控件中,但不会触发OnPaste事件..:

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

2 个答案:

答案 0 :(得分:4)

调用ApplicationCommand Paste

ApplicationCommands.Paste.Execute(this, pastedText)

请注意,这部分信任无效!

答案 1 :(得分:1)

你可以通过反思来做到这一点。您需要找到私有委托字段,然后调用它。

请参阅How to: Hook Up a Delegate Using Reflection