WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.