SearchBox.SuggestionsRequested Kejadian
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.
Terjadi saat teks kueri pengguna berubah dan aplikasi perlu memberikan saran baru untuk ditampilkan di panel pencarian.
// Register
event_token SuggestionsRequested(TypedEventHandler<SearchBox, SearchBoxSuggestionsRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void SuggestionsRequested(event_token const* cookie) const;
// Revoke with event_revoker
SearchBox::SuggestionsRequested_revoker SuggestionsRequested(auto_revoke_t, TypedEventHandler<SearchBox, SearchBoxSuggestionsRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<SearchBox,SearchBoxSuggestionsRequestedEventArgs> SuggestionsRequested;
function onSuggestionsRequested(eventArgs) { /* Your code */ }
searchBox.addEventListener("suggestionsrequested", onSuggestionsRequested);
searchBox.removeEventListener("suggestionsrequested", onSuggestionsRequested);
- or -
searchBox.onsuggestionsrequested = onSuggestionsRequested;
Public Custom Event SuggestionsRequested As TypedEventHandler(Of SearchBox, SearchBoxSuggestionsRequestedEventArgs)
<SearchBox SuggestionsRequested="eventhandler"/>
Jenis Acara
Keterangan
Anda bisa mendapatkan saran dari beberapa sumber:
- Anda dapat mendefinisikannya sendiri. Misalnya, Anda dapat membuat daftar produsen mobil.
- Anda bisa mendapatkannya dari Windows jika aplikasi Anda mencari file lokal.
- Anda bisa mendapatkannya dari layanan web atau server.
Untuk panduan pengalaman pengguna untuk menampilkan saran, lihat Panduan dan daftar periksa untuk pencarian.
Anda dapat menggunakan LocalContentSuggestionSettings untuk menambahkan saran, berdasarkan file lokal dari Windows, hanya dalam beberapa baris kode. Atau, Anda dapat mendaftar untuk peristiwa SuggestionsRequested kontrol kotak pencarian dan membangun daftar saran Anda sendiri yang terdiri dari saran yang Anda ambil dari sumber lain (seperti daftar yang ditentukan secara lokal atau layanan web).
Untuk contoh kode yang menunjukkan cara menambahkan saran pencarian, unduh sampel kontrol SearchBox. Sampel menunjukkan cara menambahkan saran pencarian dengan menggunakan ketiga sumber yang mungkin, dan cara menambahkan saran untuk bahasa Asia Timur dengan menggunakan bentuk alternatif teks kueri yang dihasilkan oleh Editor Metode Input (IME). (Sebaiknya gunakan alternatif teks kueri jika aplikasi Anda akan digunakan oleh pengguna Jepang atau Cina.)
Jenis saran pencarian
Ada dua jenis saran yang dapat ditampilkan aplikasi Anda: saran yang membantu pengguna memperbaiki kueri (saran kueri), dan saran yang merupakan hasil kueri aktual (saran hasil). Anda dapat memilih untuk menampilkan salah satu atau kedua jenis saran.
Jika Anda memberikan saran kueri dan pengguna memilihnya, aplikasi Anda harus merespons dengan menampilkan hasil untuk kueri yang dipilih dan disempurnakan di halaman hasil pencarian aplikasi Anda.
Jika Anda memberikan saran hasil, Anda juga harus mendaftarkan penanganan aktivitas ResultSuggestionChosen sehingga Anda dapat merespons saat pengguna memilih salah satu saran hasil Anda dan Anda dapat menampilkan hasilnya kepada pengguna.
Menampilkan saran yang disediakan aplikasi
Setelah mendapatkan saran, Anda menampilkannya dengan menambahkannya ke SearchSuggestionsRequest. SearchSuggestionCollection.
Jika Anda memilih untuk menampilkan saran kueri dan saran hasil, Anda harus mengelompokkan saran menurut jenis saran (kueri atau hasil) dan memisahkan grup menggunakan AppendSearchSeparator. Setiap pemisah menggantikan saran dan harus diikuti oleh setidaknya satu saran, mengurangi jumlah saran yang dapat Anda tampilkan.
Panjang maksimum semua bidang tekstual dalam saran (seperti teks, teks detail, dan teks alt gambar) adalah 512 karakter.
Untuk mempelajari selengkapnya tentang menggunakan saran untuk membuat pengalaman pencarian yang baik bagi pengguna Anda di Panduan dan daftar periksa untuk pencarian.
Menangani peristiwa SuggestionsRequested secara asinkron
Jika Anda ingin menanggapi peristiwa SuggestionsRequested secara asinkron, Anda harus mendapatkan objek SearchSuggestionsRequestDeferral sebelum mengedit daftar saran. Berikut adalah contoh dari Mulai Cepat: Menambahkan pencarian ke aplikasi yang menunjukkan caranya:
public async static void SearchBox_SuggestionsRequested(
SearchBox sender,
SearchBoxSuggestionsRequestedEventArgs args)
{
// This object lets us edit the SearchSuggestionCollection asynchronously.
var deferral = args.Request.GetDeferral();
try {
// Retrieve the system-supplied suggestions.
var suggestions = args.Request.SearchSuggestionCollection;
var groups = await SampleDataSource.GetGroupsAsync();
foreach (var group in groups)
{
var matchingItems = group.Items.Where(
item => item.Title.StartsWith(
args.QueryText, StringComparison.CurrentCultureIgnoreCase));
foreach (var item in matchingItems)
{
suggestions.AppendQuerySuggestion(item.Title);
}
}
foreach (string alternative in args.LinguisticDetails.QueryTextAlternatives)
{
if (alternative.StartsWith(
args.QueryText, StringComparison.CurrentCultureIgnoreCase))
{
suggestions.AppendQuerySuggestion(alternative);
}
}
}
finally {
deferral.Complete();
}
}