Я надеюсь, что у кого-то была похожая проблема со мной, и она может мне помочь!
Я пытаюсь связать 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](https://i.stack.imgur.com/5swnS.png)
Пример данных:
- Запись
List<string>
может быть равна: {"Test1", "Test2", "Test3"} - A
Results
имеет формат List<List<string>>
и будет быть коллекцией этих List<string>
записей.
Не уверен, почему у меня так много проблем с этим - но если у кого-то есть решение - это будет оценено!
Пожалуйста, не стесняйтесь задавать вопросы и извините за эссе. :)