Если у вас есть одна структура данных для заголовков строк и другая структура для данных строк, просто преобразуйте данные в новую структуру данных, которая будет легко потребляться ListView
путем их объединения.Поскольку вам, похоже, нравятся структуры данных типа «гайки и болты», вы можете использовать для этого List<Tuple<string, List<int>>>
.
Вот простой пример.Сначала выделите код для имитации вашего свойства ResultsByDenomination
:
void Window_Loaded(object sender, RoutedEventArgs e)
{
var rowHeaders = new List<string> { "One", "Two" };
var rowData = new List<List<int>>
{
new List<int> { 1, 2, 3, 4 },
new List<int> { 5, 6, 7, 8 },
};
var listViewData = rowHeaders.Zip(rowData, (a, b) => Tuple.Create(a, b)).ToList();
DataContext = listViewData;
}
и модифицированный XAML для поддержки новой структуры данных:
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Item1}"/>
<GridViewColumn Header="Noord" DisplayMemberBinding="{Binding Item2[0]}"/>
<GridViewColumn Header="Oost" DisplayMemberBinding="{Binding Item2[1]}"/>
<GridViewColumn Header="Zuid" DisplayMemberBinding="{Binding Item2[2]}"/>
<GridViewColumn Header="West" DisplayMemberBinding="{Binding Item2[3]}"/>
</GridView>
</ListView.View>
</ListView>
Вместо этого вы также можете создать служебный класс.использования Tuple
с более описательными именами.