示例#1
0
        void Start_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            DirectoryInfoWrapper wrapper = sender as DirectoryInfoWrapper;

            if (wrapper != null)
            {
                selectedFolder = wrapper;
                if (e.PropertyName == "IsSelected")
                {
                    Files = wrapper.Data.children;
                }
                if (e.PropertyName == "IsExpanded")
                {
                    foreach (var item in wrapper.Children)
                    {
                        CreateChildren(item);
                    }
                }
            }
        }
示例#2
0
 private void CreateChildren(DirectoryInfoWrapper p_wrapper)
 {
     if (p_wrapper.Children == null)
     {
         p_wrapper.Children = new ObservableCollection <DirectoryInfoWrapper>();
         try
         {
             foreach (var directory in p_wrapper.Data.children)
             {
                 DirectoryInfoWrapper childWrapper = new DirectoryInfoWrapper(directory)
                 {
                     Data = directory
                 };
                 childWrapper.PropertyChanged += Start_PropertyChanged;
                 p_wrapper.Children.Add(
                     childWrapper
                     );
             }
         }
         catch
         {
         }
     }
 }