2012-02-07 69 views
0

我有一個列表視圖,它由來自sql數據庫的值填充。而不是保存一個圖像爲我正在尋找的每個'x'值,我想知道是否有辦法將圖像放入x值的列。wpf listview,將圖像放入列中以取代某些行值?

因此對於某個列中的「1」的每個實例,我想要顯示一個圓的圖像。對於同一列中的每個「2」實例,我想顯示一個正方形。

如果我爲每個實例保存.jpg文件而不是數字,數據庫會迅速膨脹起冗餘圖片,所以我想避免添加實際的圖片。有誰知道如何做到這一點?

回答

0

有幾種方法可以實現這一點,如果您使用ListBox(這可能是您想要的,而不是ListView),那麼您可以創建自定義DataTemplate

您的ListBox將被綁定到項目集合,每個項目都是一個自定義類型,表示從數據庫填充的模型。

在此模型上可以是一個Image屬性,例如,它可能是適當圖像的路徑。在此Image屬性的獲取器中,可以基於整數值(這是模型上的另一個屬性)返回適當的路徑。

在你ListBox DataTemplate中,你可以使用一個Image控制其Source屬性綁定到底層數據對象的Image屬性。

如果您希望使用使用GridView的ListView,那麼您可以將列的CellTemplate設置爲DataTemplate,因此原理相同。這被描述爲here