【问题标题】:Clear Clipboard on app exit应用退出时清除剪贴板
【发布时间】:2018-10-09 16:57:37
【问题描述】:

我知道我可以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. 使用延迟复制。

【问题讨论】:

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


    【解决方案1】:

    您可以轻松使用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 应用生命周期的更多详细信息。

    【讨论】:

    • 除非应用具有焦点,否则这将不起作用。 (顺便说一句,请参阅我的编辑。)
    • @ispiro 我已经在你添加到 Edit 部分的主题中回复了你的问题,你可以在那里查看我的回复 (stackoverflow.com/questions/50087835/…)
    猜你喜欢
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 2012-05-10
    相关资源
    最近更新 更多