Я добавил один элемент в ItemsSource, который является путем к папке, и все изображения будут добавлены в ListBox, но я хочу добавить больше элементов в существующий ListBox, используя тот же ItemsSource, как это сделать?

List folders = new List();
    private void ComboBox1_Loaded(object sender, RoutedEventArgs e)
    {
folders.AddRange(Directory.EnumerateFiles(@"C:\Users\images1", "*.*").ToList());
        imageItems.ItemsSource = folders;            
    } 

    private void ComboBox2_Loaded(object sender, RoutedEventArgs e)
    {
folders.AddRange(Directory.EnumerateFiles(@"C:\Users\images2", "*.*").ToList());
        imageItems.ItemsSource = folders;        
    } 

    
        
            
                
            
        
        
            
                
            
        
    

Но добавляется и отображается только элемент ComboBox2_Loaded, а не ComboBox1_Loaded. как я могу получить оба элемента?

Ответы (1)

Вам нужно создать список, который можно изменять для хранения имен файлов в:

ObservableCollection folders = new ObservableCollection();

Оттуда вы можете добавлять и удалять все нужные вам элементы:

imageItems.ItemsSource = folders;

foreach (string file in Directory.EnumerateFiles(@"C:\Users\images1", "*.*"))
{
    folders.Add(file);
}

foreach (string file in Directory.EnumerateFiles(@"C:\Users\images2", "*.*"))
{
    folders.Add(file);
}

2022 WebDevInsider