我有一个ListView,我希望显示多个相同类型的集合(与我发现的关于多重绑定的所有其他主题相反),甚至更好 - 一个不可用的项目,类似于&# 34;默认项目",作为ListView中的第一项和相同类型的多个连接集合。例如,对于一个集合和一个项目:
<ListView ItemsSource="{Binding People}">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}" />
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListViewItem ItemsSource="{Binding PatientZero}">
<WrapPanel>
<TextBlock Text="{Binding Name}" />
</WrapPanel>
</ListViewItem>
</ListView>
和
public class Person
{
public string Name { get; set; }
public Person(){}
}
...和代码
ObservableCollection<Person> _people =
new ObservableCollection<Person>();
public ObservableCollection<Person> People
{ get { return _people; } }
Person PatientZero { get { return _patientZero ; } }
Person _patientZero = new Person { Name="Unknown"}
显然,这不会工作,因为它不会通过xaml解析器(没有提到一些语法,但这是一个例子)。当然,我可以定期收集所有收藏品并检查编辑的物品是不是第一个,但我很好奇这是否可以解决。 答案 0 :(得分:1)
不确定这是否是您所需要的。但你的问题描述可以更清楚。
ObservableCollection<ObservableCollection<Person>> PeopleLists{get;set;}
在XAML中绑定
<ListView ItemsSource="{Binding PeopleLists}">
<ListView.ItemTemplate>
<DataTemplate>
<ListView ItemsSource={Binding}>
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}" />
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>