From 03959e785f635697fcdf0f99aad9454fafbf4e2e Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Thu, 14 Jun 2018 11:57:22 +0300 Subject: Improved UdpDiscoveryClient (I Think...). Improved PPC NavigationManager by providing a way to navigate by module/view paths.. --- .../Tango.SharedUI/Controls/NavigationControl.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs') 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 /// 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) -- cgit v1.3.1