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 che contiene il contenuto con cui aggiornare il widget.

Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato un utilizzo tipico di UpdateWidget. Microsoft.Windows. Widgets.Providers.WidgetManager.GetWidgetInfos viene chiamato per ottenere l'elenco di oggetti WidgetInfo per i widget attivi associati al provider di widget. Per ogni widget, vengono generati un modello visivo e un modello di dati 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 oggetto visivo esistente e lo stato personalizzato, impostando solo il Microsoft.Windows. Proprietà Widgets.Providers.WidgetUpdateRequestOptions.Data, 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 desidera cancellare lo stato personalizzato archiviato del widget, è possibile impostare il Microsoft.Windows. Widgets.Providers.WidgetUpdateRequestOptions.CustomState su una stringa vuota, che cancellerà lo stato personalizzato archiviato dopo la chiamata di UpdateWidget.

La chiamata a questa funzione per aggiornare un widget eliminato, un widget non associato all'app o l'uso di un ID widget che non esiste comporta l'eliminazione dell'aggiornamento.

Si applica a