Esempio n. 1
0
        public FileTreeControlViewModel()
        {
            LoadedCommand = new DelegateCommand <RoutedEventArgs>(Loaded);

            TreeCollection.Add(new TreeViewModel
            {
                Name   = "FolderA",
                IsNode = true,
                Nodes  = new ObservableCollection <TreeViewModel>
                {
                    new TreeViewModel
                    {
                        Name   = "FileA.xml",
                        IsNode = false
                    },
                    new TreeViewModel
                    {
                        Name   = "FileB.xml",
                        IsNode = false
                    }
                }
            });

            var folderB = new TreeViewModel
            {
                Name   = "FolderB",
                IsNode = true
            };

            TreeCollection.Add(folderB);

            folderB.Nodes = new ObservableCollection <TreeViewModel>
            {
                new TreeViewModel
                {
                    Name   = "FolderA",
                    IsNode = true,
                    Parent = folderB
                },
                new TreeViewModel
                {
                    Name   = "FolderB",
                    IsNode = true,
                    Parent = folderB
                },
                new TreeViewModel
                {
                    Name   = "FileA.xml",
                    IsNode = false,
                    Parent = folderB,
                },
                new TreeViewModel
                {
                    Name   = "FileB.xml",
                    IsNode = false,
                    Parent = folderB,
                }
            };

            var folderB1 = ((ObservableCollection <TreeViewModel>)folderB.Nodes)[0];

            folderB1.Nodes = new ObservableCollection <TreeViewModel>
            {
                new TreeViewModel
                {
                    Name   = "FileA.xml",
                    IsNode = false,
                    Parent = folderB1
                },
                new TreeViewModel
                {
                    Name   = "FileB.xml",
                    IsNode = false,
                    Parent = folderB1
                }
            };

            var folderB2 = ((ObservableCollection <TreeViewModel>)folderB.Nodes)[1];

            folderB2.Nodes = new ObservableCollection <TreeViewModel>
            {
                new TreeViewModel
                {
                    Name   = "FileA.xml",
                    IsNode = false,
                    Parent = folderB2
                },
                new TreeViewModel
                {
                    Name   = "FileB.xml",
                    IsNode = false,
                    Parent = folderB2
                }
            };

            TreeCollection.AddRange(new List <TreeViewModel>
            {
                new TreeViewModel
                {
                    Name   = "FolderC",
                    IsNode = true
                },
                new TreeViewModel
                {
                    Name   = "FileA.xml",
                    IsNode = false
                },
                new TreeViewModel
                {
                    Name   = "FileB.xml",
                    IsNode = false
                }
            });
        }