WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) メソッド

定義

ウィジェットの更新されたコンテンツをウィジェット ホストに提供します。

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)

パラメーター

widgetUpdateRequestOptions
WidgetUpdateRequestOptions

ウィジェットの更新に使用するコンテンツを含む WidgetUpdateRequestOptions オブジェクト。

実装

次のコード例は、 UpdateWidget の一般的な使用方法を示しています。 Microsoft.Windows。Widgets.Providers.WidgetManager.GetWidgetInfos は、ウィジェット プロバイダーに関連付けられているアクティブなウィジェットの WidgetInfo オブジェクトの一覧を取得するために呼び出されます。 ウィジェットごとに、ビジュアル テンプレートとデータ テンプレートが生成され、WidgetUpdateRequestOptions オブジェクトの UpdateWidget 呼び出しに渡されます。

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

注釈

WidgetUpdateRequestOptions クラスに設定されていない変数は更新されません。 たとえば、ウィジェットのデータの更新のみに関心があるが、既存のビジュアル テンプレートとカスタム状態を維持する場合は、Microsoft.Windowsのみを設定します。Widgets.Providers.WidgetUpdateRequestOptions.Data プロパティでは、ウィジェットのデータは更新されますが、テンプレートとカスタムの状態は変更されません。

UpdateWidget を使用して、クリアする値の空の文字列を設定することで、格納されている値をクリアすることもできます。 たとえば、ウィジェットの保存されているカスタム状態をクリアする場合は、Microsoft.Windowsを設定できます。Widgets.Providers.WidgetUpdateRequestOptions.CustomState プロパティを空の文字列に設定すると、UpdateWidget が呼び出されると、格納されているカスタム状態が消去されます。

この関数を呼び出して、削除されたウィジェット、アプリに関連付けられていないウィジェット、または存在しないウィジェット ID を使用すると、更新が無視されます。

適用対象