WidgetManager.UpdateWidget(WidgetUpdateRequestOptions) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan konten yang diperbarui untuk widget ke host widget.
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)
Parameter
- widgetUpdateRequestOptions
- WidgetUpdateRequestOptions
Objek WidgetUpdateRequestOptions yang berisi konten untuk memperbarui widget.
Penerapan
Contoh
Contoh kode berikut menunjukkan penggunaan khas UpdateWidget. WidgetManager.GetWidgetInfos() dipanggil untuk mendapatkan daftar WidgetInfo objek untuk widget aktif yang terkait dengan penyedia widget. Untuk setiap widget, templat visual dan templat data dihasilkan dan diteruskan ke panggilan UpdateWidget di objek WidgetUpdateRequestOptions .
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);
}
}
}
}
Keterangan
Variabel apa pun yang tidak diatur di kelas WidgetUpdateRequestOptions tidak akan diperbarui. Misalnya, jika Anda hanya tertarik untuk memperbarui data widget tetapi Anda ingin menyimpan templat visual dan status kustom yang ada, maka dengan mengatur hanya WidgetUpdateRequestOptions.Data properti , data widget akan diperbarui tetapi templat dan status kustom tidak akan dimodifikasi.
UpdateWidget juga dapat digunakan untuk menghapus nilai yang disimpan dengan mengatur string kosong agar nilai dibersihkan. Misalnya, jika Anda ingin menghapus status kustom widget yang disimpan, Anda dapat mengatur WidgetUpdateRequestOptions.CustomState properti ke string kosong, yang akan menghapus status kustom yang disimpan setelah UpdateWidget dipanggil.
Memanggil fungsi ini untuk memperbarui widget yang telah dihapus, widget yang tidak terkait dengan aplikasi Anda, atau menggunakan ID widget yang tidak ada akan mengakibatkan pembaruan diabaikan.