Очистить буфер обмена при выходе из приложения - PullRequest
0 голосов
/ 29 апреля 2018

Я знаю, что могу поместить текст в буфер обмена и автоматически удалить его, когда мое приложение существует в .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);
}

EDIT

Я нашел способ, которым должен работать в соответствии с документами. Но это не так. Чтобы использовать отложенное копирование.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете легко использовать Clipboard.Clear Метод для удаления всех данных из буфера обмена в приостановленном событии приложения, которое будет запущено до закрытия приложения.

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 , чтобы получить более подробную информацию о жизненном цикле приложения UWP.

...