internal static T GetValue <T>(T defaultValue, [CallerMemberName] string propertyName = "") { try { if (ApplicationData.Current.LocalSettings.Values.ContainsKey(propertyName)) { string value = ApplicationData.Current.LocalSettings.Values[propertyName].ToString() ?? string.Empty; if (!string.IsNullOrEmpty(value)) { if (typeof(T) == typeof(string)) { return((T)(object)value); } else if (typeof(T) == typeof(bool)) { if (bool.TryParse(value, out bool result)) { return((T)(object)result); } } else if (typeof(T) == typeof(int)) { if (int.TryParse(value, out int result)) { return((T)(object)result); } } else if (typeof(T) == typeof(double)) { if (double.TryParse(value, out double result)) { return((T)(object)result); } } else if (typeof(T).IsEnum) { return((T)Enum.Parse(typeof(T), value)); } else if (typeof(T) == typeof(BindablePoint)) { if (BindablePoint.TryParse(value, out BindablePoint result)) { return((T)(object)result); } } } } } catch { } return(defaultValue); }
internal List <INavigationListenerComponent> LoadNavigationListeners(AbstractNavigationComponent navigationComponent) { List <INavigationListenerComponent> listeners = new List <INavigationListenerComponent>(); BindablePoint point = navigationComponent.GetBindablePointBySystemName(AbstractUiConstants.IAbstractUiNavigationControl_NavigationListeners_BindingPointName); BindingController bindingController = new BindingController(this.FactoryContext); List <Binding> bindings = bindingController.GetByBindablePointId(point.BindablePointId); foreach (Binding binding in bindings) { INavigationListenerComponent component = this.GetObjectByInstanceId(binding.ImplementationId) as INavigationListenerComponent; listeners.Add(component); } return(listeners); }
public List <IAbstractComponent> LoadChildControls(AbstractContainer container) { List <IAbstractComponent> children = new List <IAbstractComponent>(); BindablePoint point = container.GetBindablePointBySystemName(AbstractUiConstants.IAbstractUiContainer_Controls_BindingPointName); BindingController bindingController = new BindingController(this.FactoryContext); List <Binding> bindings = bindingController.GetByBindablePointId(point.BindablePointId); foreach (Binding binding in bindings) { IAbstractComponent component = this.GetObjectByInstanceId(binding.ImplementationId) as IAbstractComponent; component.ParentComponent = container; children.Add(component); } return(children); }