Partager via


WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Méthode

Définition

Fournit du contenu mis à jour pour un widget à l’hôte du 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)

Paramètres

widgetUpdateRequestOptions
WidgetUpdateRequestOptions

Objet WidgetUpdateRequestOptions qui contient le contenu avec lequel mettre à jour le widget.

Implémente

Exemples

L’exemple de code suivant illustre une utilisation classique de UpdateWidget. Microsoft.Windows.Widgets.Providers.WidgetManager.GetWidgetInfos est appelé pour obtenir la liste des objets WidgetInfo pour les widgets actifs associés au fournisseur de widgets. Pour chaque widget, un modèle visuel et un modèle de données sont générés et transmis à l’appel UpdateWidget dans un WidgetUpdateRequestOptions objet.

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

Remarques

Toute variable non définie dans la classe WidgetUpdateRequestOptions ne sera pas mise à jour. Par exemple, si vous souhaitez uniquement mettre à jour les données du widget, mais que vous souhaitez conserver le modèle visuel existant et l’état personnalisé, en définissant uniquement les Microsoft.Windows.Widgets.Providers.WidgetUpdateRequestOptions.Data propriété, les données du widget seront mises à jour, mais le modèle et l’état personnalisé ne seront pas modifiés.

UpdateWidget pouvez également être utilisé pour effacer n’importe quelle valeur stockée en définissant une chaîne vide pour que la valeur soit effacée. Par exemple, si vous souhaitez effacer l’état personnalisé stocké du widget, vous pouvez définir la propriété Microsoft.Windows.Widgets.Providers.WidgetUpdateRequestOptions.CustomState sur une chaîne vide, ce qui efface l’état personnalisé stocké une fois UpdateWidget appelé.

L’appel de cette fonction pour mettre à jour un widget qui a été supprimé, un widget non associé à votre application ou l’utilisation d’un ID de widget qui n’existe pas entraîne l’ignorer.

S’applique à