私はWPFが新しく、ListBoxに画像を表示するアプリケーションを作成したいと考えています。 _Imagesというクラスを作成しました。ローカルフォルダから画像を取得し、リストに入れます。WPF ListBox ItemsSourceバインディングで参照されるパスが見つかりません
namespace wpfAppSlides.Imagens
{
class _Images
{
public List<Image> imgList = new List<Image>();
public void CarregaImagens()
{
string dir = @"C:\Users\devUser\Img";
foreach (string file in Directory.GetFiles(dir))
{
Image image = new Image();
BitmapImage source = new BitmapImage();
source.BeginInit();
source.UriSource = new Uri(file, UriKind.Relative);
source.EndInit();
image.Source = source;
imgList.Add(image);
}
}
}
}
私のXAMLでは、私の名前空間を参照しました。
xmlns:is="clr-namespace:wpfAppSlides._Images"
xmlns:col="clr-namespace:wpfAppSlides"
DataContextに入れます。
<Window.DataContext>
<is:_Images></is:_Images>
</Window.DataContext>
しかし、私は(プロパティではなく、コード内)のItemsSourceを使用して、imgList上のアイテムで自分のListBoxを養うたいとき、彼は私がimgListに関連付けることができます任意のパスを見つけることができません。
のListBox XAML:
<ListBox Height="110"
HorizontalAlignment="Left"
Margin="14,50,0,0"
Name="listBox1"
VerticalAlignment="Top"
Width="477" ItemsSource="{Binding}" />
メインウィンドウコード:
public partial class MainWindow : Window
{
_Imagens imgs;
public MainWindow()
{
InitializeComponent();
imgs = (_Images)this.DataContext;
imgs.CarregaImagens();
}
}
私はのObservableCollectionを使用しようとしましたが、それは使用ですありません。
ヘルプ? ):
まあ、私はこのいくつかの変更を行い、全く使用しません。 私は_Images(今imagens)をpublicと宣言し、CarregaImagens()が呼び出されて実行されますが、imgList(画像がありロードされる)だけを使用するようにデータをバインドしようとすると何も起こりません。 :/ – limabi