diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs
deleted file mode 100644
index 24a16504fe..0000000000
--- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
-// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace ICSharpCode.TreeView
-{
- public enum DropEffect
- {
- None, Move, Copy, Link
- }
-}
diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj
index 78b7d35db3..1049c5d1dd 100644
--- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj
+++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj
@@ -6,7 +6,7 @@
9.0.30729
2.0
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}
- library
+ Library
Properties
ICSharpCode.TreeView
ICSharpCode.TreeView
@@ -14,15 +14,16 @@
512
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
4
+ Client
..\..\..\..\bin\
-
-
+ False
+ False
+ false
true
- full
+ Full
false
- ..\..\..\..\bin\
DEBUG;TRACE
prompt
4
@@ -30,11 +31,19 @@
pdbonly
true
- ..\..\..\..\bin\
TRACE
prompt
4
+
+ False
+
+
+ False
+ Auto
+ 4194304
+ AnyCPU
+
@@ -64,16 +73,15 @@
Properties\GlobalAssemblyInfo.cs
-
-
Code
+
diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs
index ae0a0e6468..65561ea930 100644
--- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs
+++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs
@@ -12,6 +12,7 @@ using System.Collections.ObjectModel;
using System.Windows.Controls;
using System.Collections.Specialized;
using System.Windows.Input;
+using System.Windows.Media;
namespace ICSharpCode.TreeView
{
@@ -101,6 +102,10 @@ namespace ICSharpCode.TreeView
get { return null; }
}
+ public virtual Brush Foreground {
+ get { return SystemColors.WindowTextBrush; }
+ }
+
public virtual object Icon
{
get { return null; }
diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs
index 26f8bab069..3addc9e03b 100644
--- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs
+++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs
@@ -135,11 +135,11 @@ namespace ICSharpCode.TreeView
this.ItemsSource = flattener;
}
}
-
+
void flattener_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
- // Deselect nodes that are being hidden
- if (e.Action == NotifyCollectionChangedAction.Remove) {
+ // Deselect nodes that are being hidden, if any remain in the tree
+ if (e.Action == NotifyCollectionChangedAction.Remove && Items.Count > 0) {
List selectedOldItems = null;
foreach (SharpTreeNode node in e.OldItems) {
if (node.IsSelected) {
@@ -151,11 +151,13 @@ namespace ICSharpCode.TreeView
if (selectedOldItems != null) {
var list = SelectedItems.Cast().Except(selectedOldItems).ToList();
SetSelectedItems(list);
+ if (SelectedItem == null) {
+ // if we removed all selected nodes, then move the focus to the node
+ // preceding the first of the old selected nodes
+ SelectedIndex = Math.Max(0, e.OldStartingIndex - 1);
+ FocusNode((SharpTreeNode)SelectedItem);
+ }
}
- // reset the focus to the previous node
- SelectedIndex = Math.Max(0, e.OldStartingIndex - 1);
- if (SelectedItem != null)
- FocusNode((SharpTreeNode)SelectedItem);
}
}
diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml
index a10e19c75c..00b807af01 100644
--- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml
+++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml
@@ -181,6 +181,7 @@
@@ -210,7 +211,8 @@
-->
-