@ispiro, кажется, что использование рендеринга с задержкой работает по-разному для текста и HTML, не могли бы вы представить эту проблему в нашем приложении Windows 10 Feedback Hub и поделиться ссылкой здесь? После этого я могу привлечь соответствующую группу для изучения этой проблемы, а вы можете следить за состоянием этой проблемы в нашем Центре обратной связи.
ентация DataPackage.SetDataProvider состояния:
Используйте метод SetDataProvider, когда ваше приложение ... не хочет предоставлять данные, пока целевое приложение не запросит их.
Но когда я запускаю следующий код, он немедленно вызывает метод обратного вызова.
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)
{
//Called immediately!
request.SetData(reference);
}
Когда я меняюStandardDataFormats.Text
вStandardDataFormats.Html
он работает как ожидалось (отложенный рендеринг), но тогда я не могу выбрать опцию «Вставить» в таких приложениях, как «Блокнот».
Как мне заставить его ждать текст, пока он не будет вызван из целевого приложения, как это должно быть сделано в соответствии с его документацией?
Дополнительно:
DataTransfer.OperationCompleted событие не возбуждено.