2017-03-31 6 views
1
string[] list = Directory.GetFiles(@"Resources/", "*.jpg"); 
lvDataBinding.Items.Add(list[0]); 

リソースフォルダには、アレイに追加したいいくつかのイメージが含まれているので、簡単に使用できます。C# - フォルダから配列にイメージを追加してリストビューに表示する方法

私はウィンドウに表示する必要があります(それぞれ異なるリストビュー項目が選択されている場合)。

ListViewItemの名前と説明と共にクラスに格納できるかどうかを知りたいと思います。だから私は次のようにすることができます:

Article article1= new Article(); 
article1.Name = "Article name"; 
article1.Description = "Long article description etc etc"; 
article1.Image= images[0]; 
lvDataBinding.Items.Add(artikel1); 

そして、クラスは私が推測するようなものでしょうか?

public class Article 
{ 
    public string Name{ get; set; } 
    public string Description{ get; set; } 
    public Image? Image { get; set; } 

    public override string ToString() 
    { 
     return Naziv; 
    } 
} 

P .:私はこれを他のより良い方法で行う方法について、すべての提案を尊重します。確かに良い方法があると確信していますが、私は大学の授業をしていて、時間が限られています。私の先生もオブジェクトを新しいウィンドウに移すよう提案しました。 ありがとうございます!

+0

は 'ICollection'プロパティを持つ' ViewModel'を作成し、 'ListBox'のための' ItemsSource'として、このプロパティを使用します。 – AnjumSKhan

+0

詳しいことはできますか?私はかなり理解していない。また、ListBoxではなくListViewを持っています。 – Yanketz

+0

答えははいです、あなたはそれを行うことができます。しかし、より具体的な質問をする必要があります。私は単純な "はい"答えがあなたを助けてくれるとは思わない。 –

答えて

1

stringプロパティを使用して画像のパスを保存することができます。次のサンプルコードを参照してください。

コード:

public class Article 
{ 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public string Path { get; set; } 
} 
... 
string[] list = Directory.GetFiles(@"Resources/", "*.png"); 
List<Article> items = new List<Article>(); 
foreach (var path in list) 
{ 
    items.Add(new Article() 
    { 
     Name = System.IO.Path.GetFileNameWithoutExtension(path), 
     Path = path 
    }); 
} 
lvDataBinding.ItemsSource = items; 

XAML:

<ListView x:Name="lvDataBinding" DisplayMemberPath="Name" /> 
<Image Source="{Binding SelectedItem.Path, ElementName=lvDataBinding}" Stretch="None" /> 
+0

ありがとうございました。 .jpgと.pngがある場合、どのようにパスの配列を変更するのですか?また、設定するパスを選択する方法は?私は行 "Path = path"で "Path = picture.png"のようになると仮定していますか? – Yanketz

+0

私は理解しているかどうかはわかりません。各イメージには、ファイルのディレクトリと名前を指定する絶対パスがあります。 – mm8

+0

上記のコードで「asus.jpg」という画像をどのように使用するかの例を教えてください。どこに置くの? – Yanketz

関連する問題