static NavMenuItem GetNavMenuTree(TreeMapPrItem rootItem) { NavMenuItem result = null; if (rootItem != null) { result = new NavMenuItem () { Id = rootItem.PrId, Title = rootItem.PrName }; if (rootItem.Items.Any ()) { result.Items.AddRange (GetChildrenNavMenu (rootItem)); } } return result; }
public void InitControls(TreeMapPrItem navigationObjects) { { var navTree = GetNavMenuTree (navigationObjects); navControl.InitControl (navTree); navControl.SetBinding (ContentView.IsEnabledProperty, new Binding ("ShowLoadingAnimationInverted")); } if (Device.OS == TargetPlatform.Android) { { var goalGroup = new BindableRadioGroup () { Orientation = StackOrientation.Horizontal }; goalGroup.ItemsSource = new List<string> () { "нефть", "обводненность" }; goalGroup.SelectedIndex = 1; goalGroup.SelectedIndex = 0; goalGroup.CheckedChanged += ViewModel.OnSelectedGoalChanged; cnvGoal.Content = goalGroup; } { var rowCountGroup = new BindableRadioGroup () { Orientation = StackOrientation.Horizontal }; rowCountGroup.ItemsSource = new List<string> () { "50", "100", "300" }; rowCountGroup.SelectedIndex = 1; rowCountGroup.SelectedIndex = 0; rowCountGroup.CheckedChanged += ViewModel.OnSelectedCountChanged; cnvRowCount.Content = rowCountGroup; } } else { { var goalSegmentView = new SegmentedControlView (); goalSegmentView.SegmentsItens = "нефть;обводненность"; goalSegmentView.TintColor = Color.FromHex ("#4487CA"); goalSegmentView.PropertyChanged += OnGoalChanged; cnvGoal.Content = goalSegmentView; } { var rowCountSegmentView = new SegmentedControlView (); rowCountSegmentView.SegmentsItens = "50;100;300"; rowCountSegmentView.TintColor = Color.FromHex ("#4487CA"); rowCountSegmentView.PropertyChanged += OnRowCountChanged; cnvRowCount.Content = rowCountSegmentView; } } { Switch swt; if (Device.OS == TargetPlatform.Android) { swt = new Switch (){ HorizontalOptions = LayoutOptions.End }; } else { swt = new ExtendedSwitch (){ HorizontalOptions = LayoutOptions.End, TintColor = Color.FromHex ("#D64B30") }; } swt.SetBinding (Switch.IsToggledProperty, new Binding ("IsRedColor")); swt.SetBinding (View.IsEnabledProperty, new Binding ("ShowLoadingAnimationInverted")); Grid.SetColumn (swt, 2); grdRed.Children.Add (swt); } { Switch swt; if (Device.OS == TargetPlatform.Android) { swt = new Switch (){ HorizontalOptions = LayoutOptions.End }; } else { swt = new ExtendedSwitch (){ HorizontalOptions = LayoutOptions.End, TintColor = Color.FromHex ("#189A55") }; } swt.SetBinding (Switch.IsToggledProperty, new Binding ("IsGreenColor")); swt.SetBinding (View.IsEnabledProperty, new Binding ("ShowLoadingAnimationInverted")); Grid.SetColumn (swt, 2); grdGreen.Children.Add (swt); } { Switch swt; if (Device.OS == TargetPlatform.Android) { swt = new Switch (){ HorizontalOptions = LayoutOptions.End }; } else { swt = new ExtendedSwitch (){ HorizontalOptions = LayoutOptions.End, TintColor = Color.FromHex ("#D1AA12") }; } swt.SetBinding (Switch.IsToggledProperty, new Binding ("IsYellowColor")); swt.SetBinding (View.IsEnabledProperty, new Binding ("ShowLoadingAnimationInverted")); Grid.SetColumn (swt, 2); grdYellow.Children.Add (swt); } }
static IEnumerable<NavMenuItem> GetChildrenNavMenu(TreeMapPrItem parentItem) { var result = new List<NavMenuItem> (); foreach (var zx in parentItem.Items) { result.Add (new NavMenuItem () { Id = zx.ZxId, Title = zx.ZxName, ParentId = parentItem.PrId }); } return result; }