ListView的使用和数据绑定
下面介紹一下ListView的相關使用,新建一個叫做TestList的項目。
在主頁面的后臺代碼中加入一堆數據:
[csharp] view plaincopy然后在xaml頁面拖拽一個Listview到頁面上,并且命名為list1。
接下來就是把ListView的數據源綁定到后臺定義的集合中。
只需要設置ListView的ItemsSource即可。完整的代碼如下:
[csharp] view plaincopy對應的xaml的完整代碼如下: [html] view plaincopy
運行效果如圖所示:
ItemsSource為界面上顯示的數據集合。
但是這樣簡單的顯示一般很難滿足需求,我們需要自定義復雜的ListView才行。
在xaml中如下修改:
[html] view plaincopy
這樣再運行的時候就可以顯示多個控件了:
注釋:直接Text="{Binding}"就是說數值直接等于上下文。
接下來看看ListView的其他用法。
1.選定模式:SelectionMode
SelectionMode="None":列表中的各項無法被選擇
SelectionMode="Single":只能單項被選擇
SelectionMode="Multiple":可以多選模式
那么如何獲得選中的對象呢?
拖一個按鈕來做實驗:
[html] view plaincopy
雙擊按鈕添加監聽:
[csharp] view plaincopy
此時再運行,選中某項之后點擊按鈕便會發現按鈕的內容發生了改變:
其中返回的SelectedItem為選中項的數據上下文。
2.選中事件:ItemClick
在使用這個事件之前需要啟用ItemClick,開啟方式:?IsItemClickEnabled="True"。
接下來在控件的屬性窗口可以找到有一個事件(小閃電圖標),將其命名:Item_Click,按下回車。
自動跳轉到了后臺的代碼頁面,并且創建了相應的相應方法:
[csharp] view plaincopy
e.ClickedItem為點擊的選項。
可以用下面的代碼來做一段測試:
[csharp] view plaincopy
此時再點擊就會出現選中的對應的數據了。
那么如何做到動態加載數據呢?比如從網上加載信息,加載多少顯示多少是怎么實現的呢?
實現INotifyCollectionChanged接口即可。
當然win8中有自帶的集合類:ObservableCollection,實現了INotifyCollectionChanged接口,其他操作基本和List一樣。
使用的方法很簡單,將原來的代碼稍作修改即可:
[csharp] view plaincopy
總結
以上是生活随笔為你收集整理的ListView的使用和数据绑定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8+XAML Binding(数据
- 下一篇: 数据绑定的基础