2016-12-21 11 views
0

私のコードに以下のコードを追加する必要がありますか?私がやっているリストビューに画像を表示するwpf

は、これまでのところ、これは私のコード私がリストビューに画像を表示するために必要な何

<ListView Name="Thumbnails"> 
    <ListView.ItemsPanel> 
     <ItemsPanelTemplate> 
     <UniformGrid Columns="1"/> 
     </ItemsPanelTemplate> 
    </ListView.ItemsPanel> 
</ListView> 


foreach (var item in lstImages) 
{ 
    Thumbnails.Items.Add(new BitmapImage(new Uri(item))); 
} 

あるリストビュー

で画像を表示することです。コードの出力は文字列だけです、私は検索をしましたが、私が見つけたコードを理解していません。ありがとうございます

+0

提供された回答への反応はどうですか? – Clemens

答えて

-2

ListViewのItemSourceはURIのリストに設定する必要があります。次に、値にバインドされたソースを持つイメージコントロールを含むItemTemplateを設定する必要があります。 Imageコントロールの

Thumbnails.Items.Add(new Image() { Source = new BitmapImage(new Uri("yourpic.png", UriKind.Relative)) }); 
+0

これはClemens答えの簡潔なバージョンでした - あなたはこの答えをdownvotedすべきではありません。 –

+0

私はどんな答えも投票しなかった –

-1

は、リストビューに画像要素を追加します。 Sourceコレクション要素のプロパティ。あなただけのようにも、ImageSourcestringUri(およびbyte[])から内蔵の自動型変換のために

foreach (var item in lstImages) 
{ 
    Thumbnails.Items.Add(new BitmapImage(new Uri(item))); 
} 

できます

<ListView Name="Thumbnails"> 
    <ListView.ItemsPanel> 
     <ItemsPanelTemplate> 
      <UniformGrid Columns="1"/> 
     </ItemsPanelTemplate> 
    </ListView.ItemsPanel> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Image Source="{Binding}"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

今のListViewのItemsコレクションにBitmapImageインスタンスを追加しますItemsコレクションに画像ファイルのパスを追加します。

foreach (var item in lstImages) 
{ 
    Thumbnails.Items.Add(item); 
} 

次の手順では、画像ファイルのパスを保持するObservableCollection<string>プロパティを持つビューモデルが必要な場合があります。 ListViewのItemsSourceプロパティをこのコレクションにバインドします。

1

Imageコントロールが含まれているのDataTemplateにListViewコントロール(またはリストボックス)のItemTemplateプロパティを設定して、バインド:

ListView.DataTemplate 
    ItemTemplate 
     Image 
関連する問題