为啥 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 中使用可移植类库?

Xamarin.Forms:为啥 IValueConverter 的过程不会永远打乒乓球?

为啥 AmazonCognitoIdentityProviderClient 在 C# Xamarin 中会死锁?

为啥 Xamarin 文档建议使用单例进行数据库连接?

为啥 Xamarin 会在单击按钮时出现错误?

为啥base64图像很大? xamarin 形式