应用程序退出时清除剪贴板

时间:2018-04-29 11:48:12

标签: c# uwp windows-store-apps win-universal-app

我知道我可以place text on the clipboard and have it automatically removed when my app exists in .Net

我可以在UWP中使用相同的功能吗?也许以某种方式只在剪贴板上放置一个引用?

我尝试了以下操作,但文章在应用退出后保留在剪贴板上:

static void CopyToClipboardReference(string s)
{
    DataPackage dataPackage = new DataPackage();
    reference = s;
    dataPackage.SetDataProvider(StandardDataFormats.Text, CopyToClipboardAction);
    Clipboard.SetContent(dataPackage);
}
static string reference;
static void CopyToClipboardAction(DataProviderRequest request)
{
    request.SetData(reference);
}

修改

I found a way that should work according to the docs. But doesn't.使用延迟复制。

1 个答案:

答案 0 :(得分:0)

您可以轻松使用Clipboard.Clear方法从应用程序关闭前触发的app's suspending事件中删除剪贴板中的所有数据。

private void OnSuspending(object sender, SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
    //TODO: Save application state and stop any background activity
    Clipboard.Clear();
    deferral.Complete();
}

请参阅UWP app lifecycle以获取有关uwp应用生命周期的更多详细信息。