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

注解

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

适用于