WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.