Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Clipboard.SetContent中的错误_C#_Windows_Uwp - Fatal编程技术网

C# Clipboard.SetContent中的错误

C# Clipboard.SetContent中的错误,c#,windows,uwp,C#,Windows,Uwp,我正在建立一个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 : Pag

我正在建立一个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(数据包)

我记得这段代码在以前的Windows版本中也使用过,所以我认为这可能是Windows上的一个bug


有人提出过同样的问题吗?谢谢

您缺少的一件事是设置操作类型,即dataPackage.RequestedOperation=DataPackageOperation.Copy

为了复制一个字符串,我使用了这个,它在复制中效果很好

private void CopyLink()
{
    DataPackage dataPackage = new DataPackage();
    dataPackage.RequestedOperation = DataPackageOperation.Copy;
    dataPackage.SetText("www.google.com");
    Clipboard.SetContent(dataPackage);
}

您可以尝试使用operation type Link设置链接我不确定我以前没有使用过它:“/p>值:一个统一资源标识符(URI),其方案不是由源应用程序处理的http或https。”。你确定不需要
SetWebLink()
?真奇怪。如果我尝试使用http url:“SetWebLink”或“SetApplicationLink”,它将中断。但是,如果我使用https,两者都不会崩溃,但也不要将任何内容复制到剪贴板。如果我对任何随机字符串使用“SetText”,它将始终崩溃。请尝试使用clipboard.SetDataObject(thingy,false);相反,现在让我看看它是怎么回事。嗨,我正在构建的UWP版本下的剪贴板没有出现。剪贴簿有“SetContent”、“SetContentWithOptions”和“SetHistoryItemAsContent”