Это мой первый набег на Иерархические данные, и у меня есть небольшая проблема.Не удается получить Silverlight HierarchicalDataTemplate для отображения палитр IsolatedStorage
В Silverlight 4, я пытаюсь получить список изолированных папок хранения для отображения в TreeView. Ничего не видно. My Treeview полностью пуст. Что мне не хватает? Я получаю данные, и это правильно.
Любая помощь будет оценена по достоинству.
XAML
<sdk:TreeView x:Name="FolderTreeView" Grid.Column="0" Margin="0,0,3,0" ItemsSource="{Binding _Folders}">
<sdk:TreeView.ItemTemplate>
<sdk:HierarchicalDataTemplate ItemsSource="{Binding Path=Folders}">
<TextBlock Margin="0" Text="{Binding Name, Mode=OneWay}"/>
</sdk:HierarchicalDataTemplate>
</sdk:TreeView.ItemTemplate>
</sdk:TreeView>
CS
internal class Folder
{
public Folder() { Folders = new List<Folder>(); }
public string Name { get; set; }
public List<Folder> Folders { get; set; }
}
private List<Folder> _Folders = new List<Folder>();
public OpenFileDialog()
{
InitializeComponent();
ifs = IsolatedStorageFile.GetUserStoreForApplication();
var folder = new Folder
{
Name = "Root",
Folders = (from c in ifs.GetDirectoryNames()
select new Folder
{
Name = c,
Folders = LoadFolders(c)
}).ToList()
};
_Folders.Add(folder);
FolderTreeView.DataContext = new { _Folders };
}
private List<Folder>LoadFolders(string folderName)
{
if(folderName == null)
return null;
return (from c in ifs.GetDirectoryNames(folderName + "\\*.*")
select new Folder
{
Name = c,
Folders = LoadFolders(c)
}).ToList();
}
Благодаря
Спасибо за ваш ответ. Я устанавливаю DataContext выше (т. Е. FolderTreeView.DataContext = new {_Folders}). Изменено все «Список» на «ObservableCollection » и мой обзор ObservableCollection . Без изменений. –
Имеет исключение в окне вывода. «Ошибка System.Windows.Data: невозможно получить значение« Папки ». Что мне нужно сделать, чтобы исправить это? –
Опять же, спасибо. Это не имело никакого значения.В окне вывода все еще было такое же исключение. –