WidgetManager.GetWidgetInfo(String) 方法

定义

获取一个 WidgetInfo 对象,该对象包含有关具有小组件 ID 的小组件的信息,包括可视化模板、数据模板、自定义状态、上次更新时间以及来自小组件主机的上下文信息。

public:
 virtual WidgetInfo ^ GetWidgetInfo(Platform::String ^ widgetId) = GetWidgetInfo;
WidgetInfo GetWidgetInfo(winrt::hstring const& widgetId);
public WidgetInfo GetWidgetInfo(string widgetId);
function getWidgetInfo(widgetId)
Public Function GetWidgetInfo (widgetId As String) As WidgetInfo

参数

widgetId
String

Platform::String

winrt::hstring

为其检索信息的小组件的唯一标识符。

返回

一个 WidgetInfo 对象,如果指定的 ID 与未删除的调用应用关联的小组件;否则为 null。

实现

M:Microsoft.Windows.Widgets.Providers.IWidgetManager.GetWidgetInfo(System.String) M:Microsoft.Windows.Widgets.Providers.IWidgetManager.GetWidgetInfo(Platform::String) M:Microsoft.Windows.Widgets.Providers.IWidgetManager.GetWidgetInfo(winrt::hstring)

示例

以下示例演示如何检索调用应用拥有的小组件之一的小组件信息。

/*
* Sample output:
* Id: {5E3D9EDF-13A6-4185-902B-5997AE0411A5}
* Template: {
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5"
    "body": [
        {
            "type": "TextBlock",
            "text": "${greeting}!"
        }
    ]
}
* Data: {"count": "3"}
* CustomState: 3
* DefinitionName: clickCounter
*/
using namespace std;
using namespace winrt;
using namespace Microsoft::Windows::Widgets::Providers;

class WidgetManagerOperations
{
    void PrintInfoOfWidget(hstring myWidgetId)
    {
        WidgetManager widgetManager = WidgetManager::GetDefault();

        WidgetInfo widgetInfo = widgetManager.GetWidgetInfo(myWidgetId);
        wcout << L"Id - " << L": " << widgetInfo.WidgetContext().Id().c_str() << endl;
        wcout << L"Template: " << widgetInfo.Template().c_str() << endl;
        wcout << L"Data: " << widgetInfo.Data().c_str() << endl;
        wcout << L"CustomState: " << widgetInfo.CustomState().c_str() << endl;
        wcout << L"DefinitionName: " << widgetInfo.WidgetContext().DefinitionName().c_str() << endl;
    }
}

注解

处理与无法识别的小组件关联的请求时,小组件提供程序可以使用此方法来恢复上一个已知状态。 例如,如果要在 属性中 WidgetUpdateRequestOptions.CustomState 存储小组件的状态,则可以在小组件提供程序初始化期间使用此方法重新生成小组件的状态。

适用于