SearchBox.SuggestionsRequested Kejadian

Definisi

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

}

Berlaku untuk

Lihat juga