成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談ListBox在Windows Phone 7中的使用

移動開發(fā)
在Windows Phone 7 中頁面的布局一般分為:Panoramic、Pivot、List和Full Screen。而通常List的實現(xiàn)方式就是ListBox。本文介紹了ListBox的基礎知識。

在Windows Phone 7 中頁面的布局一般分為:Panoramic、Pivot、List和Full Screen。而通常List的實現(xiàn)方式就是ListBox。

一、什么是ListBox?

ListBox 是一個顯示項集合的控件。一次可以顯示 ListBox 中的多個項。

ListBox繼承自ItemsControl,可以使用Items或者ItemsSource設置其內容。

二、在ListBox中顯示數(shù)據(jù)

我們可以通過兩種方式在ListBox中顯示:直接內嵌ListBoxItem(或其他UIElement,如TextBlock等) 與數(shù)據(jù)綁定(90%情況下均為數(shù)據(jù)綁定實現(xiàn))。

1.直接內嵌ListBox示例代碼如下:

2.數(shù)據(jù)綁定的示例代碼如下:

XAML代碼 :

后置代碼:

最終的現(xiàn)實效果都是一樣的,如下圖:

三、 如果獲取ListBox的ItemTemplate/DataTemplate 中指定的控件

當我們使用數(shù)據(jù)綁定的控件,比如說ListBox,我們通常會自定義ListBox的模板(一般建議使用Blend工具修改模板),而在某些情況下,我們需要獲取DataTemplate中的某一控件,以對其做一些特定的操作。那我們如何獲取呢?事實上,我們可以使用VisualTreeHelper 類來獲取指定的控件。下面是具體的Demo:

前臺XAML代碼:

后置代碼代碼:

四、ListBox 性能相關

在Silverlight中,為了將數(shù)據(jù)顯示給用戶,我們需要加載數(shù)據(jù)和綁定數(shù)據(jù),但是哪個會導致性能問題呢?答案是:根據(jù)你的數(shù)據(jù)類型以及界面(UI)的復雜性而定。

通常,加載數(shù)據(jù)可以在UI線程或者后臺線程中實現(xiàn),數(shù)據(jù)存在的形式也不經(jīng)相同,有的序列化為二進制數(shù)據(jù),有的序列化為XML文件,有的則是圖片形式存在等等。而數(shù)據(jù)綁定又有三種不同的綁定形式:一次綁定(One Time)、單向綁定(One Way)和雙向綁定(Two Way)。

這里簡單介紹下什么是VSP(VirtualizingStackPanel)

MSDN解釋為:將內容排列和虛擬化在一行上,方向為水平或垂直。“虛擬化”是指一種技術,通過該技術,可根據(jù)屏幕上所顯示的項來從大量數(shù)據(jù)項中生成user interface (UI) 元素的子集。僅當 StackPanel 中包含的項控件創(chuàng)建自己的項容器時,才會在該面板中發(fā)生虛擬化。 可以使用數(shù)據(jù)綁定來確保發(fā)生這一過程。 如果創(chuàng)建項容器并將其添加到項控件中,則與 StackPanel 相比,VirtualizingStackPanel 不能提供任何性能優(yōu)勢。

VirtualizingStackPanel 是 ListBox 元素的默認項宿主。 默認情況下,IsVirtualizing 屬性設置為 true。當 IsVirtualizing 設置為 false 時,VirtualizingStackPanel 的行為與普通 StackPanel 一樣。

我們可以將VSP理解為當需要時,VSP會生成容器對象,而當對象不在可視范圍內時,VSP就把這些對象從內存中移除。當ListBox很想當大數(shù)據(jù)量的項目時,我們不需要將不在可視范圍中的對象加載到內存中,從而解決了內存的問題。另外VSP有一個屬性CacheMode設置緩存表示形式,默認設為Standard。當我們需要循環(huán)顯示,可以將其設置為Recycling。

在ListBox中使用VSP來進行數(shù)據(jù)虛擬化時,我們需要注意以下幾點:

1. 確保在DataTemplate 中的容器(如Grid)大小固定

2. 在數(shù)據(jù)對象可以提供相應值時,盡量避免使用復雜的轉換器(Converter)

3. 不要在ListBox中內嵌ListBox

4. 強烈推薦不要在DataTemplate中使用用戶控件

5. 在DataTemplate中不要使用自定義控件

責任編輯:佚名 來源: 博客園
相關推薦

2010-04-08 17:40:23

Windows Pho

2012-05-08 13:54:40

ToastPrompt

2010-10-11 14:42:49

Windows Pho

2010-12-01 13:55:29

地圖插件Windows Pho

2010-12-01 13:40:13

樞軸控件Windows Pho

2012-02-02 17:16:11

Windows PhoC#聯(lián)系人資料

2012-05-23 15:46:39

數(shù)字羅盤

2013-07-30 11:18:37

Windows PhoWindows Pho

2010-11-26 16:00:08

Windows Pho

2011-02-13 09:17:01

Windows 8Windows Pho

2010-03-26 18:08:18

Windows Pho

2010-12-01 09:50:21

全景視圖Windows Pho

2010-10-20 16:47:06

MarketplaceWindows Pho

2010-05-05 13:16:02

Windows PhoWindows CE

2011-03-21 09:05:40

IronRubyWindows Pho

2010-12-21 10:02:48

SilverlightWindows Pho

2010-12-14 18:48:49

微軟

2010-11-09 09:43:22

UI設計Windows Pho

2011-06-08 09:43:15

Windows Pho

2010-10-25 14:07:55

Windows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女一区 | 亚洲高清免费视频 | 少妇一级淫片免费播放 | 亚洲久视频 | 999久久精品 | 欧美日韩精品国产 | 特级丰满少妇一级aaaa爱毛片 | 亚洲精品一区二区三区在线观看 | 日本视频在线播放 | 亚洲啪啪 | 成人精品一区二区 | 日韩中文字幕在线观看 | 一区二区免费 | av免费网站在线 | 成人欧美一区二区三区 | 成人在线精品视频 | 欧洲尺码日本国产精品 | 久久久久国产一区二区三区 | 天天看天天摸天天操 | 亚洲视频一区二区三区 | 日韩三级免费网站 | 日韩精品在线一区 | 天天看天天操 | 亚洲日本欧美日韩高观看 | 国产精品久久久久久久免费大片 | 欧美久久一级 | 蜜桃官网 | 国产精品国产自产拍高清 | 天天草天天干 | 国产欧美一区二区三区国产幕精品 | 91青青草视频 | 精品一区二区av | 九九免费视频 | 久久久精品一区二区三区 | 亚洲精品一区二区二区 | 久久剧场 | 天天操天天摸天天干 | 毛片日韩 | 国产成人精品免费视频大全最热 | 欧一区 | 久久久久久国产精品免费免费狐狸 |