Freigeben über


WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Methode

Definition

Stellt dem Widgethost aktualisierte Inhalte für ein Widget bereit.

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)

Parameter

widgetUpdateRequestOptions
WidgetUpdateRequestOptions

Ein WidgetUpdateRequestOptions Objekt, das den Inhalt enthält, mit dem das Widget aktualisiert werden soll.

Implementiert

Beispiele

Das folgende Codebeispiel veranschaulicht eine typische Verwendung von UpdateWidget. WidgetManager.GetWidgetInfos() wird aufgerufen, um die Liste der WidgetInfo Objekte für die aktiven Widgets abzurufen, die dem Widgetanbieter zugeordnet sind. Für jedes Widget werden eine visuelle Vorlage und eine Datenvorlage generiert und an den UpdateWidget-Aufruf in einem WidgetUpdateRequestOptions-Objekt übergeben.

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);
            }
        }
    }
}

Hinweise

Jede Variable, die nicht in der WidgetUpdateRequestOptions-Klasse festgelegt ist, wird nicht aktualisiert. Wenn Sie beispielsweise nur daran interessiert sind, die Daten des Widgets zu aktualisieren, aber die vorhandene visuelle Vorlage und den benutzerdefinierten WidgetUpdateRequestOptions.Data Zustand beibehalten möchten, werden die Daten des Widgets aktualisiert, aber die Vorlage und der benutzerdefinierte Zustand werden nicht geändert.

UpdateWidget kann auch verwendet werden, um jeden gespeicherten Wert zu löschen, indem eine leere Zeichenfolge festgelegt wird, damit der Wert gelöscht werden soll. Wenn Sie beispielsweise den gespeicherten benutzerdefinierten Zustand des Widgets löschen möchten, können Sie die WidgetUpdateRequestOptions.CustomState Eigenschaft auf eine leere Zeichenfolge festlegen, die den gespeicherten benutzerdefinierten Zustand löscht, sobald UpdateWidget aufgerufen wird.

Das Aufrufen dieser Funktion zum Aktualisieren eines gelöschten Widgets, eines Widgets, das ihrer App nicht zugeordnet ist, oder die Verwendung einer nicht vorhandenen Widget-ID führt dazu, dass das Update ignoriert wird.

Gilt für: