public Folders()
		{
			this.SampleFolders = new ObservableCollection<Folder>();
			Folder mediaFolder = new Folder("My Media");
			this.SampleFolders.Add(mediaFolder);
			mediaFolder.SubFolders.Add(new Folder("Videos"));
			mediaFolder.SubFolders.Add(new Folder("Music"));
			mediaFolder.SubFolders.Add(new Folder("Images"));

			this.SampleFolders.Add(new Folder("My Files"));
		}
		private void MoveItem(Folder droppedItem, Folder targetItem, TreeListViewDropPosition relativeDropPosition)
		{
			if (droppedItem == targetItem)
				return;

			var parentCollection = this.sourceCollection;

			parentCollection.Remove(droppedItem);

			if (relativeDropPosition == TreeListViewDropPosition.Inside)
			{
				destinationCollection.Add(droppedItem);
			}
			else if (relativeDropPosition == TreeListViewDropPosition.Before)
			{
				destinationCollection.Insert(destinationCollection.IndexOf(targetItem), droppedItem);
			}
			else if (relativeDropPosition == TreeListViewDropPosition.After)
			{
				destinationCollection.Insert(destinationCollection.IndexOf(targetItem) + 1, droppedItem);
			}

			this.AssociatedObject.ExpandAllHierarchyItems();
		}
		private void MoveItemToRoot(Folder droppedItem)
		{
			var parentCollection = sourceCollection;
			parentCollection.Remove(droppedItem);
			droppedItem.ParentFolder = null;
			(destinationCollection).Add(droppedItem);

			this.AssociatedObject.ExpandAllHierarchyItems();
		}