kev*_*ev3 2 c# wpf user-controls
我有一个画布,您可以在其上添加 UserControls(由图像和文本框组成)
我试图在这些 UserControl 上实现剪切、复制、粘贴功能,因此上下文菜单附加到处理图像的 UserControl 上。用户右键单击此处并从上下文菜单中选择副本,例如我将如何实施以便他们可以将其粘贴到画布上。
谁能指出我正确的方向...
这可以通过 RoutedCommands 来完成。完整概述位于 MSDN:命令概述
简短的版本是这样的:当命令源(即菜单项)想要执行命令时,会引发一个事件。该事件由最近的命令绑定处理。剪切/复制/粘贴命令已经包含在 WPF 中,并且某些元素(即文本框)已经包含它们的命令绑定。
您可以像这样定义菜单项:
<MenuItem Header="Copy" Command="ApplicationCommands.Copy" />
Run Code Online (Sandbox Code Playgroud)
并向 UserControl 添加命令绑定,如下所示:
<UserControl.CommandBindings>
<CommandBinding Command="ApplicationCommands.Copy"
Executed="Copy_Executed" />
</UserControl.CommandBindings>
Run Code Online (Sandbox Code Playgroud)
并在 UserControl 的代码隐藏中定义Copy_Executed具有ExecutedRoutedEventHandler签名的方法。
然后当然ApplicationCommands.Paste在画布内做同样的事情。
是要在自己的应用程序中处理数据还是使用剪贴板取决于您。如果您正在处理图像,WPF 有一个Clipboard类可以与BitmapSource对象一起使用(如果您有一个Image元素,很可能它Source已经是 a BitmapSource)。
| 归档时间: |
|
| 查看次数: |
7346 次 |
| 最近记录: |