WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Método

Definición

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 actualizar el widget.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra un uso típico de UpdateWidget. Microsoft.Windows. Se llama a Widgets.Providers.WidgetManager.GetWidgetInfos para obtener la lista de objetos WidgetInfo para 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 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, estableciendo solo la Microsoft.Windows. Propiedad Widgets.Providers.WidgetUpdateRequestOptions.Data, 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 se borre el valor. Por ejemplo, si desea borrar el estado personalizado almacenado del widget, puede establecer el Microsoft.Windows. Propiedad Widgets.Providers.WidgetUpdateRequestOptions.CustomState 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 provocará que se omita la actualización.

Se aplica a