Да, WPF «безликий», поэтому ваши фактические данные могут быть такими, какими вы хотите, а TreeView
- это просто Template
, используемый для отображения данных пользователю заранее определенным способом.
Вы можете перезаписать любую часть этого Template
, чтобы она была любой, и / или иметь привязку к вашим данным, как вам угодно.
Редактировать
Я не эксперт по использованию TreeView, но если у вас был DataContext List<Folder>
, а каждый объект Folder
имел свойства Name
и FullPath
, ваш TreeView мог бы выглядеть примерно так:
<TreeView ItemsSource="{Binding MyFolderList}">
<TreeView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"
ToolTip="{Binding FullPath}" />
</DataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Если вы еще этого не сделали, я настоятельно рекомендую изучить шаблон проектирования MVVM при работе с WPF.По сути, ваше приложение - это ваши классы (ViewModels), а Controls / XAML (Views) - это просто симпатичный слой, который располагается поверх ваших классов и делает их удобными для пользователя.
Это важная концепция при переключениииз WinForms TreeView в WPF TreeView