Поделиться через


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.

Вызов этой функции для обновления удаленного мини-приложения, мини-приложения, не связанного с приложением, или использования идентификатора мини-приложения, который не существует, приведет к пропускам обновления.

Применяется к