WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona contenido actualizado para un widget al host del 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
Objeto WidgetUpdateRequestOptions que contiene el contenido con el que se va a actualizar el widget.
Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra un uso típico de UpdateWidget. WidgetManager.GetWidgetInfos() se llama a para obtener la lista de objetos de WidgetInfo los widgets activos asociados al proveedor de widgets. Para cada widget, se genera una plantilla visual y una plantilla de datos y se pasan a la llamada UpdateWidget en un 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);
}
}
}
}
Comentarios
No se actualizará ninguna variable que no esté establecida en la clase WidgetUpdateRequestOptions . Por ejemplo, si solo está interesado en actualizar los datos del widget, pero desea mantener la plantilla visual existente y el estado personalizado, al establecer solo la WidgetUpdateRequestOptions.Data propiedad , los datos del widget se actualizarán, pero la plantilla y el estado personalizado no se modificarán.
UpdateWidget también se puede usar para borrar cualquier valor almacenado estableciendo una cadena vacía para que el valor se borre. Por ejemplo, si desea borrar el estado personalizado almacenado del widget, puede establecer la WidgetUpdateRequestOptions.CustomState propiedad en una cadena vacía, que borrará el estado personalizado almacenado una vez que se llame a UpdateWidget.
Llamar a esta función para actualizar un widget que se ha eliminado, un widget no asociado a la aplicación o el uso de un identificador de widget que no existe dará lugar a que se omita la actualización.