diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj
index c5b07ade1..621405501 100644
--- a/Artemis/Artemis/Artemis.csproj
+++ b/Artemis/Artemis/Artemis.csproj
@@ -271,6 +271,7 @@
+
@@ -551,6 +552,7 @@
+
diff --git a/Artemis/Artemis/ItemBehaviours/BindableSelectedItemBehavior.cs b/Artemis/Artemis/ItemBehaviours/BindableSelectedItemBehavior.cs
new file mode 100644
index 000000000..5e84d4502
--- /dev/null
+++ b/Artemis/Artemis/ItemBehaviours/BindableSelectedItemBehavior.cs
@@ -0,0 +1,52 @@
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Interactivity;
+
+namespace Artemis.ItemBehaviours
+{
+ ///
+ /// Steve Greatrex - http://stackoverflow.com/a/5118406/5015269
+ ///
+ public class BindableSelectedItemBehavior : Behavior
+ {
+ protected override void OnAttached()
+ {
+ base.OnAttached();
+
+ AssociatedObject.SelectedItemChanged += OnTreeViewSelectedItemChanged;
+ }
+
+ protected override void OnDetaching()
+ {
+ base.OnDetaching();
+
+ if (AssociatedObject != null)
+ AssociatedObject.SelectedItemChanged -= OnTreeViewSelectedItemChanged;
+ }
+
+ private void OnTreeViewSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs