2013-12-09 60 views
0

以下是我的應用程序的一個屏幕,每次搜索調用時都會加載約100個項目到服務器(WCF)。批量數據與LongListSelector中的圖像

enter image description here

我有兩個以下問題。

一:當前我將所有結果項目分配給longlist選擇器的itemssource,但是我想最初加載10個項目,當用戶向下滑動到幾乎結束時加載10個項目。在很多應用程序(foursquare)中看到了這種行爲,但無法弄清楚,因爲我是silverlight的新手。

二:如果該項目有圖像,則PicturePath設置爲服務器圖像路徑,否則設置本地無圖像路徑。問題是當圖像下載時,圖像區域顯示爲空白,直到完全下載,然後開始顯示圖像,我需要它像foursquare顯示,直到圖像完全加載。我的綁定代碼在下面與我的要求一起給出。

enter image description here enter image description here

感謝。

+0

這是兩個不同的問題,應單獨詢問。 –

回答

0

用一堆代碼回答這兩個問題是沒有意義的。

關於第一個問題,您需要一種方式來檢測用戶何時滾動到ListBox/LongListSelector的底部。您需要使用ObservableCollection而不是簡單的List,因爲ObservableCollection會在新項目添加到UI時通知UI。

此問題已被詢問過幾十次之前,for example see here

關於第二個問題,最簡單的解決方案是使用兩個圖像,一個放在ItemTemplate的上面。這樣,靜態的本地圖像將在動態爲空時顯示,並且當動態下載時,它將覆蓋靜態圖像。它呈現在靜態圖像的頂部,所以就好像靜態圖像不在那裏一樣。

<Grid> 
    <Image Source="Assets/StaticImageFromLocalCache.jpg" Width="400" Height="400" /> 
    <Image Source="Assets/DynamicImageFetchedFromInternet.jpg" Width="400" Height="400" /> 
</Grid>