Condividi tramite


WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Metodo

Definizione

Fornisce contenuto aggiornato per un widget all'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)

Parametri

widgetUpdateRequestOptions
WidgetUpdateRequestOptions

Oggetto WidgetUpdateRequestOptions contenente il contenuto con cui aggiornare il widget.

Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato un utilizzo tipico di UpdateWidget. WidgetManager.GetWidgetInfos() viene chiamato per ottenere l'elenco di WidgetInfo oggetti per i widget attivi associati al provider di widget. Per ogni widget, un modello di oggetto visivo e un modello di dati vengono generati e passati alla chiamata UpdateWidget in un oggetto 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);
            }
        }
    }
}

Commenti

Qualsiasi variabile non impostata nella classe WidgetUpdateRequestOptions non verrà aggiornata. Ad esempio, se si è interessati solo ad aggiornare i dati del widget, ma si vuole mantenere il modello di visualizzazione esistente e lo stato personalizzato, impostando solo la WidgetUpdateRequestOptions.Data proprietà, i dati del widget verranno aggiornati, ma il modello e lo stato personalizzato non verranno modificati.

UpdateWidget può essere usato anche per cancellare qualsiasi valore archiviato impostando una stringa vuota per il valore da cancellare. Ad esempio, se si vuole cancellare lo stato personalizzato archiviato del widget, è possibile impostare la WidgetUpdateRequestOptions.CustomState proprietà su una stringa vuota, che cancellerà lo stato personalizzato archiviato una volta chiamato UpdateWidget.

Chiamando questa funzione per aggiornare un widget che è stato eliminato, un widget non associato all'app o l'uso di un ID widget che non esiste comporterà l'eliminazione dell'aggiornamento.

Si applica a