win8開發(15) 擴充套件聯絡人選擇器

2021-09-01 14:13:23 字數 2082 閱讀 5056

上回我們討論了如何從聯絡人選擇器中選擇聯絡人記錄。但,我們也許會發現乙個問題,我們都知道,我們

選擇的聯絡人都是通過microsoft帳號從雲伺服器取出來的,那麼,如果我有自己的聯絡人資料呢?比如,

保豐在本地資料檔案中的,或者從我的web服務中獲取的聯絡人呢?那這種情況下,還能用聯絡人選擇器來選擇嗎?

答案當然是肯定的,在windows store公開的api中,是允許我們對某些特殊的應用程式或ui進行自定義擴

展,如前面我們提到的開啟檔案ui,儲存檔案ui,以及選取聯絡人資訊ui都是可以擴充套件的。

這些擴充套件使用起來不難,只是剛剛接觸的話,可能你會感到有些複雜,所以,還是那句話:熟能生巧,實踐才能找到真理。

我們看看這個選擇器是如何被擴充套件的,如果你安裝過大智慧型軟體或者我們今天的應用,在選在聯絡人時,會看到下面的介面。

也就是說,這些擴充套件的應用,都整合到聯絡人選擇器中了。

不多說了,action!我們一邊動手一邊討論吧。

1、啟動vs for win8,隨便哪個版本,支援就行。新建專案,選擇你喜歡的語言(c#),在模板中選擇

空白頁面應用程式。

2、這樣吧,我們把核心知識放到前面吧,先做好護展選擇器的部分吧。

開啟「解決方案資源管理器」視窗,在專案上右擊,在彈出的選單中選擇「新增」-「新建項」,接著彈出乙個新

建項視窗,選擇空白頁,我們就命名為mycontactspage.xaml。

這個頁面不算複雜,只放乙個listview控制項,這個頁面就會成為我們啟動聯絡人選擇器時顯示的列表。

"xmlns:x="

"xmlns:mc="

"mc:ignorable="d">

注意頁面的資源部分,我宣告了乙個collectionviewsource,而listview的資料來源正是從它裡面取,所以在 li

stview宣告的時候,我們用binding來獲取資料。

/// 聯絡人名字

///

public string name

///

/// 聯絡人手機號碼

///

public string cellphoneno

///

/// 聯絡人電郵位址

///

public string emailaddress

///

/// 獲取測試資料源

///

///

public static observablecollectiongetcontactsamples()

);mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

mclist.add(new custcontact );

return mclist;}}

4、處理listview的selectionchanged事件,以響應使用者的選擇操作。

private void lvcontacts_selectionchanged_1(object sender, selectionchangedeventargs e)

contactfieldfactory ctfactory = new contactfieldfactory();

// 將選中的項新增到已選聯絡人列表

foreach (var itemadded in e.addeditems)

}// 將未選中的聯絡人從已選列表中刪除

foreach (var removeditem in e.removeditems)}}

已經選擇的項就新增到選擇器的聯絡人列表中,而沒有被選中的就從聯絡人列表中移除。新增聯絡人

列表時(addcontact方法呼叫)有乙個id引數,我們可以用聯絡人的名字作為其id值。

Android 開發聯絡人管理

新增聯絡人 乙個新增聯絡人資訊的例子 public void addcontact string name,string mobile 查詢聯絡人 public void getcontact 更新聯絡人 public void updatacontact long rawcontactid,str...

Win8 應用開發介紹(二) Win8應用為王

1 win8應用商店 2 互相感知的應用 win8的應用之間可以互相感知,所謂互相感知就是應用知道相應格式的檔案怎麼處理,這個應用處理完了可以直接給下乙個應用接手。比如有一張,可以直接有按鈕上傳到facebook,或者我這邊在用編輯工具編輯的時候,旁邊就有shortcut可以直接分享到faceboo...

手把手玩轉win8開發系列課程(15)

8 9 通過了名稱和內容這兩個屬性,能夠區分buttons之間不同的屬性,這個automationproperties.name顯示button下的文字,context顯示使用icon圖示。值的屬性是顯示segoe ui 的字母特徵。你可以看到圖示也是win8中的圖示定義。這樣樣式也不能滿足你樣式。...