aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs')
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs21
1 files changed, 17 insertions, 4 deletions
diff --git a/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs b/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
index 5a39948b2..72e7e50c8 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
+++ b/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
@@ -9,6 +9,7 @@ using System.Windows.Controls;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
+using System.Windows.Threading;
using Tango.SharedUI.Helpers;
namespace Tango.SharedUI.Controls
@@ -228,7 +229,7 @@ namespace Tango.SharedUI.Controls
/// <returns></returns>
public static String GetNavigationName(FrameworkElement element)
{
- return element.GetValue(NavigationName).ToString();
+ return element.GetValue(NavigationName).ToStringSafe();
}
#endregion
@@ -438,12 +439,24 @@ namespace Tango.SharedUI.Controls
public void NavigateTo(FrameworkElement element)
{
- SelectedElement = element;
+ var e = Elements.SingleOrDefault(x => x == element);
+
+ if (e != null)
+ {
+ SelectedElement = element;
+ }
}
- public void NavigateTo(String navigationName)
+ public FrameworkElement NavigateTo(String navigationName)
{
- SelectedElement = Elements.SingleOrDefault(x => GetNavigationName(x) == navigationName);
+ var element = Elements.SingleOrDefault(x => GetNavigationName(x) == navigationName || x.GetType().Name == navigationName);
+
+ if (element != null)
+ {
+ SelectedElement = element;
+ }
+
+ return element;
}
public FrameworkElement GetAndDetach(String navigationName)