我正在构建 UWP 定位:
最低版本:14393 目标版本:18362
我的 Windows 版本是:10.0.19041 Build 19041
我有以下代码隐藏:
using Windows.ApplicationModel.DataTransfer;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace LinkTest
{
public sealed partial class MainPage : Page
{
public MainPage() => this.InitializeComponent();
private void Button_Click(object sender, RoutedEventArgs e)
{
var dataPackage = new DataPackage();
dataPackage.SetApplicationLink(new System.Uri("http://www.google.es"));
Clipboard.SetContent(dataPackage);
}
}
}
以及以下简单的 UI:
<Page
x:Class="LinkTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<Button Content="Button" Margin="129,125,0,0" VerticalAlignment="Top" Click="Button_Click"/>
</Grid>
</Page>
运行此代码时,我在调试或发布中收到以下错误:
System.Exception: '没有足够的内存资源来处理此命令。 (HRESULT 异常:0x80070008)'
行中: Clipboard.SetContent(dataPackage);
我记得这段相同的代码曾经在以前版本的 Windows 中运行,所以我认为这可能是 Windows 上的一个潜在错误。
有人遇到同样的问题吗?谢谢!
最佳答案
您缺少的一件事是设置操作类型,即 dataPackage.RequestedOperation = DataPackageOperation.Copy;
为了复制字符串,我使用了它并且它在复制中工作得很好
private void CopyLink()
{
DataPackage dataPackage = new DataPackage();
dataPackage.RequestedOperation = DataPackageOperation.Copy;
dataPackage.SetText("www.google.com");
Clipboard.SetContent(dataPackage);
}
您可以尝试操作类型Link来设置链接我不确定我以前没有使用过
关于c# - Clipboard.SetContent 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64138303/