Compartilhar via


WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Método

Definição

Fornece conteúdo atualizado para um widget para o host do widget.

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)

Parâmetros

widgetUpdateRequestOptions
WidgetUpdateRequestOptions

Um WidgetUpdateRequestOptions objeto que contém o conteúdo com o qual atualizar o widget.

Implementações

Exemplos

O exemplo de código a seguir demonstra um uso típico de UpdateWidget. WidgetManager.GetWidgetInfos() é chamado para obter a lista de WidgetInfo objetos para os widgets ativos associados ao provedor de widget. Para cada widget, um modelo visual e um modelo de dados são gerados e passados para a chamada UpdateWidget em um objeto 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);
            }
        }
    }
}

Comentários

Qualquer variável não definida na classe WidgetUpdateRequestOptions não será atualizada. Por exemplo, se você estiver interessado apenas em atualizar os dados do widget, mas quiser manter o modelo visual existente e o estado personalizado, definindo apenas a WidgetUpdateRequestOptions.Data propriedade , os dados do widget serão atualizados, mas o modelo e o estado personalizado não serão modificados.

UpdateWidget também pode ser usado para limpar qualquer valor armazenado definindo uma cadeia de caracteres vazia para que o valor seja limpo. Por exemplo, se você quiser limpar o estado personalizado armazenado do widget, poderá definir a WidgetUpdateRequestOptions.CustomState propriedade como uma cadeia de caracteres vazia, o que apagará o estado personalizado armazenado depois que UpdateWidget for chamado.

Chamar essa função para atualizar um widget que foi excluído, um widget não associado ao seu aplicativo ou usar uma ID de widget que não existe resultará na atualização sendo ignorada.

Aplica-se a