Добавление списка файлов из каталога в ListView

Вылезают ошибки

  1. Не удается неявно преобразовать тип "System.Collections.Generic.List<string>" в "System.Windows.Controls.ListView"

  2. Не удается применить индексирование через [] к выражению типа "ListView". pr_5

Понятно, что из-за первой лезет и вторая. Подскажите как можно это дело исправить или как проще создать это приложение, руки опускаются уже

private void btn_path_Click(object sender, RoutedEventArgs e)
{
    var dialog = new FolderBrowserDialog();
    var dialogResult = dialog.ShowDialog();

    if (dialogResult.HasFlag(System.Windows.Forms.DialogResult.OK))
    {
        tbx_path.Text = dialog.SelectedPath;
    }

    lw_SpisokPhoto = Directory.EnumerateFiles(tbx_path.Text)
        .Where(x => x.EndsWith(".jpg") || x.EndsWith(".png"))
        .ToList();
    if (lw_SpisokPhoto.AlternationCount == 0)
    {
        return;
    }
    im_gallery.Source = new BitmapImage(new Uri(lw_SpisokPhoto[0]));
}

Ответы (1 шт):

Автор решения: aepot

lw_SpisokPhoto это контрол, а не коллекция, его коллекция это свойство ItemsSource.

private void btn_path_Click(object sender, RoutedEventArgs e)
{
    var dialog = new FolderBrowserDialog();
    var dialogResult = dialog.ShowDialog();

    if (dialogResult.HasFlag(System.Windows.Forms.DialogResult.OK))
    {
        tbx_path.Text = dialog.SelectedPath;
    }

    string[] files = Directory.EnumerateFiles(tbx_path.Text)
        .Where(x => x.EndsWith(".jpg") || x.EndsWith(".png"))
        .ToArray();
    lw_SpisokPhoto.ItemsSource = files;
    if (files.Length == 0)
    {
        return;
    }
    im_gallery.Source = new BitmapImage(new Uri(files[0]));
}

Пример работы с файлами в листбоксе есть еще здесь.

→ Ссылка