WidgetManager.GetWidgetInfos 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得與呼叫應用程式相關聯之所有小工具的預存資訊。
public:
virtual Platform::Array <WidgetInfo ^> ^ GetWidgetInfos() = GetWidgetInfos;
winrt::array_view <WidgetInfo const&> GetWidgetInfos();
public WidgetInfo[] GetWidgetInfos();
function getWidgetInfos()
Public Function GetWidgetInfos () As WidgetInfo()
傳回
物件的陣列 WidgetInfo ,包含相關聯小工具的相關資訊。
實作
範例
下列程式碼範例示範如何擷取呼叫應用程式擁有之所有小工具的資訊。 此範例會更新一天或更久未更新的任何小工具。
using namespace std;
using namespace winrt;
using namespace Windows::Foundations;
using namespace Microsoft::Windows::Widgets;
using namespace Microsoft::Windows::Widgets::Providers;
class WidgetManagerOperations
{
void UpdateWidgetsWith24HourOutdate()
{
com_array<WidgetInfo> widgetInfos = WidgetManager::GetDefault().GetWidgetInfos();
for (const auto widgetInfo : widgetInfos)
{
if (widgetInfo.WidgetContext().DefinitionName() == L"clockWidget")
{
auto diffInSeconds = static_cast<long long int>(clock::to_time_t(end), clock::to_time_t(beginning));
auto diffInDays = (((diffInSeconds / 60) / 60) / 24);
if (diffInDays >= 1)
{
WidgetUpdateRequestOptions options{widgetInfo.WidgetContext().Id()};
options.Template(LR"({
"type": "AdaptiveCard",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "Today is: ${date}"
}
]
})");
options.Data(LR"({
"date": "05-23-2022"
})");
widgetManager.UpdateWidget(options);
}
}
}
}
}