Я думаю, что вам нужно создать новый класс ItemViewModel, который будет содержать соответствующие TestResults и SummaryText в качестве свойств, с которыми вы можете связываться. Чем вы сможете создать IEnumerable ItemViewModels и привязать свой ListView (или все, что вы хотите к нему). Я также предлагаю, чтобы Grid of TestResults
лучше было заменить на ListView, привязанный к свойству TestResults модели представления.
Надеюсь, это поможет! Кратко описано - пожалуйста, оставьте комментарий, если мое объяснение недостаточно ясно.
UPD:
Этот код должен заполнять IEnumerable моделей представления:
public class ItemViewModel
{
public IEnumerable<string> TestResults { get; set; }
public string SummaryText { get; set; }
}
...
var viewModels = testResults.Select(tr =>
new ItemViewModel() {
TestResults = testResults.Where(t => t.TestGroup == tr.TestGroup)
.Select(t => t.TestName + " " + t.TestPassed),
SummaryText = testSummaries.First(ts => ts.TestGroup == tr.TestGroup)
});
UPD2:
Этот XAML должен помочь:
<!-- In your resources -->
<DataTemplate x:Key="ItemViewModelTemplate">
<StackPanel Orientation="Horizontal">
<ListView ItemsSource={Binding TestResults} />
<TextBlock Text={Binding SummaryText} />
</StackPanel>
</DataTemplate>
...
<!-- In your main xaml file -->
<!-- Let's assume that your main VM contains property ViewModels
that is filled like described above -->
<ListView ItemsSource={Binding ViewModels}
ItemTemplate="{StaticResource ItemViewModelTemplate}" />