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 関する情報を含む オブジェクトの配列。
実装
例
次のコード例では、呼び出し元アプリが所有するすべてのウィジェットの情報を取得する方法を示します。 次の使用例は、1 日以上更新されていないウィジェットを更新します。
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);
}
}
}
}
}