最近項目里需要顯示商品的一系列圖片,打算用CardView來顯示,由於第一次使用,遇到許多問題,發現網上這方面的資源很少,所以把自己的一點點實際經驗小結一下,供自己和大家以后參考。
1、選擇CardView,將原來的GirView轉換為CardView,如下圖
效果如下:
2、控件默認是縱向排列,如果要改成橫向排列,改變屬性MaximumCardColumns(允許橫向排列的卡片數量)和MaximumCardRows(允許縱向排列的卡片行數)。
我這里設置為:MaximumCardColumns:-1、MaximumCardRows:1,效果如下圖;
3、要用到卡片,大多數情況是要展示圖片用的。如何展示呢?添加一個存儲圖片的對象(我這里是直接在數據源中添加Image類型的字段),然后更改該字段的ColumnEdit的類型為PictureEdit,並命名為rowPicture,如下圖
4、又發現圖片的大小被限制了,改變CardView(卡片高度自適應,以適應圖片的高度)和rowPicture(設置圖片的高度)兩個地方的屬性即可,如圖
CardView:
rowPicture:
效果如下圖:
5、布局問題解決了,其他需要調整的,其實屬性里都有,這里只是演示。如何根據URL將圖片下載下來顯示,這里貼出主要代碼:
var client = new WebClient();
client.DownloadDataCompleted += client_DownloadDataCompleted;
client.DownloadDataAsync(new Uri(img.Url));
private void client_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
try
{
Image img = Image.FromStream(new MemoryStream(e.Result));
······
}
catch (Exception ex)
{
······
}
}
到這就差不多解決問題了,提示下,注意將圖片緩存,以提高性能。【轉自CSDN,網址:http://m.blog.csdn.net/blog/yang472024191/4053632】