在我的UWP应用程序中,我想实现COPY/PAST功能。
为此,我创建了CopiedResourceNodes
,它保存了有关复制文件的信息
public class CopiedResourceNodes
{
public int Info1{ get; set; }
public string Info2{ get; set; };
public double Info3{ get; set; }
public double Info4{ get; set; }
}
之后,我创建了DataPackage
类,并通过SetData方法设置我的CopiedResourceNodes
,我还有另一个方法:SetContent将已设置CopiedResourceNodes
的新创建的DataPackage设置到Windows剪贴板中
public void CopyNode(CopiedResourceNodes resourceNode)
{
var dataPackage = new DataPackage();
dataPackage.SetData(ConvertTypeName, JsonConvert.SerializeObject(resourceNode));
Clipboard.SetContent(dataPackage);
}
当我运行应用程序并希望复制时,我会收到此异常`x1c 0d1x
我感谢每一个帮助和建议。
1条答案
按热度按时间voase2hg1#
报告此错误是因为DataPackage.SetData中的参数
formatId
,建议使用StandardDataFormats。参数formatId字符串指定数据的格式。建议您使用StandardDataFormats类设置该值。
使用
StandardDataFormats.Text
或dataPackage.SetText()
,错误消失。下面的代码示例我使用try-catch
来测试JsonConvert.DeserializeObject
是否有异常来判断剪贴板中的数据是在外部还是在内部。虽然你的原始代码抛出了异常,但它对程序的数据和逻辑判断没有不良影响,你的App运行不会崩溃。您也可以继续使用您的原始代码。