WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет обновленное содержимое для мини-приложения на узле мини-приложения.
public:
virtual void UpdateWidget(WidgetUpdateRequestOptions ^ widgetUpdateRequestOptions) = UpdateWidget;
void UpdateWidget(WidgetUpdateRequestOptions const& widgetUpdateRequestOptions);
public void UpdateWidget(WidgetUpdateRequestOptions widgetUpdateRequestOptions);
function updateWidget(widgetUpdateRequestOptions)
Public Sub UpdateWidget (widgetUpdateRequestOptions As WidgetUpdateRequestOptions)
Параметры
- widgetUpdateRequestOptions
- WidgetUpdateRequestOptions
Объект WidgetUpdateRequestOptions, содержащий содержимое, с помощью которого нужно обновить мини-приложение.
Реализации
Примеры
В следующем примере кода демонстрируется типичное использование UpdateWidget. вызывается Microsoft.Windows.WidgetInfos.Providers.WidgetManager.GetWidgetInfos, чтобы получить список объектов WidgetInfo для активных мини-приложений, связанных с поставщиком мини-приложений. Для каждого мини-приложения создается визуальный шаблон и шаблон данных, который передается в вызов UpdateWidget в объекте WidgetUpdateRequestOptions.
using namespace winrt;
using namespace Microsoft::Windows::Widgets;
using namespace Microsoft::Windows::Widgets::Providers;
class WidgetManagerOperations
{
void InitializeWidgets(hstring myWidgetId)
{
WidgetManager widgetManager = WidgetManager::GetDefault();
com_array<WidgetInfo> widgetInfos = widgetManager.GetWidgetInfos();
for (const auto& widgetInfo : widgetInfos)
{
if (widgetInfo.WidgetContext().IsActive())
{
WidgetUpdateRequestOptions options{myWidgetId};
options.Template(LR"({
"type": "AdaptiveCard",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "${greeting}"
}
]
})");
options.Data(LR"({
"greeting": "Hello"
})");
widgetManager.UpdateWidget(options);
}
}
}
}
Комментарии
Любая переменная, не заданная в классе WidgetUpdateRequestOptions, не будет обновлена. Например, если вы хотите обновить только данные мини-приложения, но хотите сохранить существующий визуальный шаблон и пользовательское состояние, то задав только свойство Microsoft.Windows.Widgets.Providers.WidgetUpdateRequestOptions.Data, данные мини-приложения будут обновлены, но шаблон и пользовательское состояние не будут изменены.
UpdateWidget также можно использовать для очистки любого сохраненного значения, задав пустую строку для очистки значения. Например, если вы хотите очистить сохраненное пользовательское состояние мини-приложения, можно задать для свойства Microsoft.Windows.Widgets.Providers.WidgetUpdateRequestOptions.CustomState пустую строку, которая будет удалять хранимое пользовательское состояние после вызова UpdateWidget.
Вызов этой функции для обновления удаленного мини-приложения, мини-приложения, не связанного с приложением, или использования идентификатора мини-приложения, который не существует, приведет к пропускам обновления.