为啥 Xamarin ClipboardManager 不包含仅纯文本的 html?
Posted
技术标签:
【中文标题】为啥 Xamarin ClipboardManager 不包含仅纯文本的 html?【英文标题】:Why Xamarin ClipboardManager does not contains html only plain text?为什么 Xamarin ClipboardManager 不包含仅纯文本的 html? 【发布时间】:2019-11-29 22:39:38 【问题描述】:我正在尝试像 Gmail 那样模拟 html 文本的复制/粘贴行为。 IE。如果我从 Chrome 页面手动将一些文本复制到 Gmail 中的新邮件中,文本的格式会(或多或少)带有项目符号、标题等。
我尝试使用剪贴板管理器,但它只包含一个具有纯文本格式的剪辑。我做错了什么?
ClipboardManager clipboardManager = (ClipboardManager)Forms.Context.GetSystemService(Context.ClipboardService);
ClipDescription decr = clipboardManager.PrimaryClip.Description;
clipboardManager.PrimaryClip;
【问题讨论】:
如果找不到,可以向 GitHub 提出问题:github.com/xamarin/xamarin-android 是的,也许我应该 【参考方案1】:您需要使用GetItemAt
方法并选择是否要将其强制转换为您的应用所需的格式:
示例(假设第一个剪辑数据是您想要的):
var htmlText = clipboardManager.PrimaryClip.GetItemAt(0).HtmlText;
var coercedHtmlText = clipboardManager.PrimaryClip.GetItemAt(0).CoerceToHtmlText;
var coercedFormattedStyledText = clipboardManager.PrimaryClip.GetItemAt(0).CoerceToStyledTextFormatted;
【讨论】:
我尝试获取 HtmlText 属性,它为空,最后两个未定义 @Tanya 将0
更改为另一个值(1、2 等)会改变结果吗?
是的,它写道没有这样的元素。 :-)以上是关于为啥 Xamarin ClipboardManager 不包含仅纯文本的 html?的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms:为啥 IValueConverter 的过程不会永远打乒乓球?