(如何)使用 NSMenuItem 将文本从 <editor> 复制到剪贴板
(How to) Copying text from an <editor> to Clipboard using NSMenuItem
我有一个关于 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
)中,您的整个应用程序将拥有 Cut/Copy/Paste,因为 NSMenuItem
项目正在使用 Cocoa 剪贴板选择器。
我有一个关于 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
)中,您的整个应用程序将拥有 Cut/Copy/Paste,因为 NSMenuItem
项目正在使用 Cocoa 剪贴板选择器。