共用方式為


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,就會清除儲存的自定義狀態。

呼叫此函式來更新已刪除的 Widget、未與您的應用程式相關聯的小工具,或使用不存在的小工具標識碼會導致忽略更新。

適用於