Вложенный список Вывод XAML в ListView - PullRequest
0 голосов
/ 20 февраля 2020

Я надеюсь, что у кого-то была похожая проблема со мной, и она может мне помочь!

Я пытаюсь связать ObservableCollection<List<string>> с ListView, но у меня возникают проблемы с форматированием вывода ,

Вот вложенная структура:

C#

 //Setting variables
 private ObservableCollection<List<string>> _results;
 public ObservableCollection<List<string>> Results
 {
      get => _results;
      set { _results = value; OnPropertyChanged(nameof(Results)); }
 }

 //Initialise variables
 private async Task<bool> runAsync() {
      List<List<string>> targets = new List<List<string>>();
      targets = await Task.FromResult(dataConverter.getFromFile());

      Results = new ObservableCollection<List<string>>(targets);
      foreach (var target in targets)
       {
           List<string> new_result = new List<string>();
           foreach (var element in target)
           {
               new_result.Add(element);
           }

           Results.Add(new_result);
       }
       return true;
}

По сути, dataConverter.getFromFile() будет считывать из CSV строку информации , а затем прочитать его в List<List<string>>. Я знаю , этот раздел работает, так как я вручную собираю данные и печатаю их на этикетке внешнего интерфейса.

XAML

<ListView ItemsSource="{Binding Results}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ListView ItemsSource="{Binding}">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding}" />
                            </DataTemplate>
                     </ListView.ItemTemplate>
                </ListView>
         </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Выходные данные

Он помещает каждый элемент в новую "строку", тогда как я хочу, чтобы каждый List<string> представлял собой последовательность "столбцов".

Итак .. По сути:

  • Существует List<List<string>>
  • Каждый string внутри List<string> должен содержать новый столбец с данными внутри
  • Каждый List<List<string>> должен быть новой строкой

Примерно так:

enter image description here

Пример данных:

  • Запись List<string> может быть равна: {"Test1", "Test2", "Test3"}
  • A Results имеет формат List<List<string>> и будет быть коллекцией этих List<string> записей.

Не уверен, почему у меня так много проблем с этим - но если у кого-то есть решение - это будет оценено!

Пожалуйста, не стесняйтесь задавать вопросы и извините за эссе. :)

...