有没有办法让Mono中的Mac上的剪贴板不返回空字符串?这是使用最新的NON-beta版单声道。
Clipboard.SetText(String)工作正常,我可以粘贴到其他程序。
Clipboard.GetText(TextDataFormat.UnicodeText)
Clipboard.GetText(TextDataFormat.Text)
Clipboard.GetText(TextDataFormat.Rtf)
所有返回“”即使Clipboard.ContainsText(TextDataFormat.UnicodeText)返回true。
编辑:
解决方案最终是在Mac上使用NSPasteboard。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSPasteboard_Class/Reference/Reference.html
答案 0 :(得分:0)
可能是mono将TextDataFormat.UnicodeText解释为utf-16,但“其他应用程序”将文本放在剪贴板上,格式为utf-8。
以下是一个补丁,如果我没记错的话,修复了与此类似的问题。
你需要构建单声道并应用补丁来试试这个。
答案 1 :(得分:0)
解决方案最终是在Mac上使用NSPasteboard。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSPasteboard_Class/Reference/Reference.html
我无法让剪贴板返回任何内容。 Mono在NSPasteboard周围有包装,因此最终变得非常简单。