程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Windows 8風格應用開發入門 十二 SearchContract概述及原理

Windows 8風格應用開發入門 十二 SearchContract概述及原理

編輯:關於.NET

Search Contract概述

使用過Windows 8操作系統的開發者都知道什麼是Charms(超級按鈕)。其中在Charms中包含了一個Search,微軟稱之為Search Contact,我們可以在應用中調用Search Contract相應的API來實現應用搜索功能。

使用Search Contract可以從系統的任何位置進入到我們的應用進行搜索,意思就是不管我們在操作系統上面做任何事情都可以隨時使用Search Contract對第三方應用進行應用內搜索。

Search Contract可以在任意的場景中調出,當然也可以依賴與某一場景(例如:聯系人頁面只是搜索聯系人,新聞頁面只是搜索新聞)。我們只需要輕輕一劃就可以啟用。

Search Contract面板結構剖析

Search Contract面板可簡單剖析如下:

1) 搜索的范圍在於我們所選擇的應用程序;

2) 搜索建議由我們所選擇的應用程序提供,一般都是自動根據搜索條件在所選應用內搜索出來的結果,注意:搜索建議最多顯示5條;

3) 列出已安裝的實現了Search Contract的Windows 8風格應用;

4) Search Contract面板顯示所選應用的搜索推薦,一般最好提供包含縮略圖和標題,提供精確的匹配信息,用戶點擊某一條搜索推薦後直接跳轉到相應的詳細信息頁面。

Search Contract實現原理

首先我們來整體看一下搜索設置和相應的事件:

1.我們想要在自己的應用中使用Search Contract,首先需要在應用程序的清單文件(Package.appxmanifest)中注冊應用的搜索功能以及文件訪問能力。

2.搜索面板中提供搜索歷史(系統自動提供)默認是開啟狀態,應用本地內容的搜索建議以及設置占位符文本。

3.搜索面板中涉及到三個重要事件:搜索激活事件;查詢提交事件;搜索建議請求事件。

搜索激活事件

1.用戶選擇一個搜索位置;

2.搜索面板中激活相應的應用進行搜索;

3.觸發應用程序中搜索激活事件,判斷是否包含查詢文本,若未包含查詢文本加載之前的應用狀態,若包含查詢文本進行搜索並顯示搜索結果視圖;

查詢提交事件

1.用戶輸入查詢內容點擊搜索按鈕,或者用戶選擇一個查詢建議;

2.搜索面板中激活相應的應用進行搜索;

3. 觸發應用程序中搜索激活事件後,觸發查詢提交的事件,需要判斷查詢文本是否改變了,若查詢文本未改變顯示之前搜索結果視圖,若查詢文本發生改變重新進行查詢顯示搜索結果視圖;

搜索建議請求事件

1. 用戶在搜索框中輸入查詢文本;

2. 搜索面板中自動顯示匹配的搜索歷史記錄,同時向相應的應用發起請求建議;

3. 觸發查詢提交事件,是否進行異步的處理,若未進行異步處理將建議添加到搜索建議集合中,在搜索面板中顯示來自應用的建議,若進行異步處理,首先請求延遲將建議添加到搜索建議集合中完成延遲處理,在搜索面板中顯示來自應用的建議;

Search Contract最佳實踐

1.不要在應用中添加搜索相關的控件;

2.不要在App Bar中放置搜索相關的UI;

3.始終提供搜索建議;

4.搜索建議應包含用戶當前的搜索文本;

5.搜索建議應體現應用能夠提供的結果;

6.用戶選擇搜索建議後,應立即跳轉到相應的搜索結果頁面;

7.如果想要給用戶提供精准匹配,請提供搜索結果的建議;

本文出自 “王祖康” 博客,請務必保留此出處http://wzk89.blog.51cto.com/1660752/1007114

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved