private void GetLeftButtonsForCategories() { foreach (var category in _categories) { foreach (var dHeading in category.Headings) { foreach (var vals in dHeading.Value) { TCMenuButton buttonX = new TCMenuButton(); if (vals.Key == "") { category.Buttons.Add(new TCMenuButton() { Text = dHeading.Key, Children = new ObservableCollection <TCMenuButton>(), Selected = false }); } else { if (SkipVflOrVhc(vals.Key)) { continue; } category.Buttons[category.Buttons.Count - 1].Children.Add(new TCMenuButton() { Text = vals.Key, Selected = false }); } } } } }
public void OnMenuClick(TCMenuButton tcMenuButton) { foreach (var menuButton in GetSelectedCategory().Buttons) { foreach (var button in menuButton.Children) { button.Selected = button.Text == tcMenuButton.Text; } } if (tcMenuButton.Children != null) { // only pwhen top-menu button clicked foreach (var menuButton in GetSelectedCategory().Buttons) { menuButton.Selected = false; } var buttonX = GetSelectedCategory().Buttons.FirstOrDefault(x => x.Text == tcMenuButton.Text) as TCMenuButton; if (buttonX != null) { buttonX.Selected = true; } } GetCurrentBlock(GetSelectedCategory(), tcMenuButton.Text, tcMenuButton.Children == null); OnPropertyChanged("LeftButtons"); }