BitmapImageのでカスタムジェネリックリストを作成します。
-
21-08-2019 - |
質問
(:写真が撮影された日付、場所などなど)
私のWPFのプロジェクトで、私は画像を表示し、各画像の隣に自分のテキストをする必要がするリストボックスがあります。 私は、一般的なリストを作成しようとしたが、私はまだリストボックスに割り当てることができません。
のようなもの。
Bscially私は、この行に何かをしようとしている。
public class LoadImages
{
public static List<ImageLoader> LoadImages()
{
List<ImageLoader> img = new List<ImageLoader>();
Uri uri = new Uri(@"http://somedomain.com/pic.jpg", UriKind.Absolute);
BitmapImage bi = new BitmapImage(uri);
img.Add(new ImageLoader("1_1",bi));
return img;
}
}
public class ImageLoader
{
string mediaid;
BitmapImage thumbnail;
public ImageLoader(string mediaid, BitmapImage b)
{
this.mediaid = mediaid;
this.thumbnail = b;
}
}
そして、私のXAMLは、このようになります。
<ListBox Name="ListBox1" SelectionMode="Extended" ItemsSource="{Binding}"
Width="300" Height="300" IsSynchronizedWithCurrentItem="True">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Image Source="{Binding thumbnail}"/>
<TextBlock Text="{Binding mediaid}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
私は
Window.DataContextを設定している当面のために<Window.DataContext>
<ObjectDataProvider ObjectType="{x:Type local:LoadImages}" MethodName="LoadImages"/>
</Window.DataContext>
しかし、毎回私は、リストボックスが空に現れアプリを実行します。
任意の提案ます。
解決 3
読書やグーグルの多くは、私は私の答えを見つけた後は、
、私はImageLoaderクラスでなければならなかったすべてはMEDIAIDとサムネイルのために、それはリストボックスに結合今のcharのように動作した後にプロパティを作成することです。だから今、上記の質問で尋ねにImageLoaderクラスは、
のようになります。public class ImageLoader
{
string mediaid;
BitmapImage thumbnail;
public string MediaId
{
get { return mediaid; }
set { mediaid = value; }
}
public BitmapImage Thumbnail
{
get { return thumbnail; }
set { thumbnail = value; }
}
public ImageLoader(string mediaid, BitmapImage b)
{
this.mediaid = mediaid;
this.thumbnail = b;
}
}
他のヒント
画像要素SourceプロパティのURIをサポートしています。なぜ、あなたのLoadImagesクラスは、URIのセットの代わりに、画像を返す作っていませんか?また、画像要素はあなたのための非同期ジョブを行うことができます;)
サムネイルとMEDIAIDは、公開されないので、結合は失敗します。
所属していません StackOverflow