我有一个关于 MacOS 的 C# 应用程序的问题。
我有以下代码(在 MainClass 中):
NSMenuItem copyMenuItem = new NSMenuItem(title: "Copy", charCode: "c", handler: delegate
{
//Has to be code
});
在 page.xaml 中我有一个编辑器标签:
<Editor x:Name="editField"
Text="Some Text"
Margin="0"
Grid.Row="1"
Grid.Column="1"/>
所以,我的问题是:
当他们使用相同的解决方案时,我如何使用代码的第一部分将编辑器中的文本复制(到剪贴板)? (NSMenuItem).
最佳答案
由于基于 macOS
Xamarin.Forms
的应用程序没有主菜单(通常通过 Storyboard/xib 提供),您需要构建整个菜单链:
var mainMenu = new NSMenu();
var appMenuItem = new NSMenuItem();
mainMenu.AddItem(appMenuItem);
var editMenuItem = new NSMenuItem();
mainMenu.AddItem(editMenuItem);
var editSubMenu = new NSMenu("Edit");
editSubMenu.SetSubmenu(editSubMenu, editMenuItem);
var cutMenuItem = new NSMenuItem("Cut", new Selector("cut:"), "x");
editSubMenu.AddItem(cutMenuItem);
var copyMenuItem = new NSMenuItem("Copy", new Selector("copy:"), "c");
editSubMenu.AddItem(copyMenuItem);
var pasteMenuItem = new NSMenuItem("Paste", new Selector("paste:"), "v");
editSubMenu.AddItem(pasteMenuItem);
NSApplication.SharedApplication.MainMenu = mainMenu;
将它放在您的 AppDelegate
(构造函数或 DidFinishLaunching
)中,您将对整个应用进行剪切/复制/粘贴,作为 NSMenuItem
项目正在使用 Cocoa 选择器作为剪贴板。
关于c# - (如何)使用 NSMenuItem 将文本从 <editor> 复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46407060/