با عرض سلام و وقت بخیر .
زمانی که در یک مدل بیش از یک مجموعه داشته باشیم و بخواهیم هردوی آنها را در یک TreeView نشان بدهیم چطور باید بیش از یک مجموعه را به ItemsSouece بایند کنیم؟ :
برای مثال یک مدل به نام Folder داریم که خودش شامل دوتا مجموعه دیگه است
public class Folder
{
public string FolderName { get; set; }
public List<Folder> Folders { get; set; }
public List<Person> People { get; set; }
}
بعد در فایل xaml :
<TreeView x:Name="BaseTreeView">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type models:Folder}"
ItemsSource="{Binding Folders}">
<StackPanel Orientation="Horizontal"
Height="20">
<TextBlock Text="{Binding FolderName}" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type models:Person}"
>
<StackPanel Orientation="Horizontal"
>
<TextBlock Text="{Binding PersonName}" />
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>
با این روش ، Person های فولدر اصلی نمایش داده نمی شوند چون فقط فولدر ها را به ItemsSource بایند کردیم.
در صورت امکان راهنمایی بفرمایید با تشکر.