天天看點

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

這節,我們繼續上節的一個議程。

①添加一個首頁

現在我已經定義了一個viewmodel,我就開始整合項目。第一步就是添加首頁到添加到項目中去。我明白項目為何吧頁面建立為空白頁面,但這個空白的頁面起名字叫空白一點兒意義都沒有吧,我這裡需要給新頁面起一個更有意義的頁面.原先的空白頁面,我已經吧他幹掉了。

鄙人是個賤體,我更喜歡添加一些新的檔案夾,使其更加的有層次。是以,我加了一個新的檔案夾加做pages。在此檔案夾下,我右擊我添加了一個叫做list的xaml的檔案、

特别提醒,如果你是xaml的一個新手的話,就非常的總要先了解我在手把手玩轉win8開發系列課程(5),(6)講的那個空白項目的例子。你要明白,在xaml的檔案支援疊代的風格來定義控件,并且添加了一些源代碼來支援他。并支援用一些樣式的定義來減少一定重複的定義。這更加的自願,就源代碼就出現在這裡。當然了,我也很難隻在文章中講述純的xaml語言。

對于程式,我想做這麼一件事,當app加載的時候就加載這個listpage頁面,這怎麼辦了,我需要在app.xaml的源檔案中做一定更改。怎麼更改的啊!源代碼如下:

此時不明白這個類的意思,你也不用慌。在第五章的時候,我會這個類如何對整個生命周期的響應給你們做詳細的闡述。

②開始編碼了

最明了的原因解釋是我為何建立這個項目與你平時建立的項目不同。就是我對listpage.xaml。cs進行了編碼。相應的源代碼如下:

構造函數建立了一個新的viewmodel執行個體,處理許多簡單的資料。這個處理了許多資料。在類中最激動人心聲明如下:

this.datacontext = viewmodel;示内容在使用者界面控件的視圖模型。為此,我開始指定資料源。使用者控件的datacontext屬性是給一個使用者界面控件及其所有子控件指定源資料綁定。我使用關鍵字對其資料進行了綁定。為什麼能夠這麼做了,因為listpage包含所對應的所有對應的xaml的源代碼。

我在最後部分定義的方法是用于處理selectionchanged事件了。這是一種控件是用來顯示項目的購物清單.當我定義xaml的時候,我會讓這個方法被調用時,傳回使用者選擇其中的一個項。依據selecteditem屬性,方法中的在viewmodel設定的selecteditem這個屬性、由于這個屬性是observable的,當選擇的時候,程式也會得到了通知。

這節議程差不多了,如下日程繼續吧。

繼續閱讀