簡體   English   中英

WPF ListView綁定多個源

[英]WPF ListView binding multiple sources

我有一個ListView,我想顯示多個相同類型的集合(與我發現的關於多重綁定的所有其他主題相反),或者甚至更好-一個不可食用的項目,例如“默認項目”,作為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解析器(不提及某些語法,但這只是一個示例)。 當然,我可以定期收集所有集合,並檢查編輯后的項目是否不是第一個,但是我很好奇這是否可以解決。
有誰想實現這個目標?

不知道這是否是您所需要的。 但是,您的問題描述會更加清晰。

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM