private void Button_Click(object sender, RoutedEventArgs e) { bool next = false; TabButtonControl past = new TabButtonControl(); foreach (var item in TopPanel.Children.OfType <TabButtonControl>()) { if (item.Open) { foreach (var item2 in TopPanel.Children.OfType <TabButtonControl>()) { if (item2.Open) { item2.GetTextControl = GroopGrid.Children.OfType <TextControl>().FirstOrDefault(); item2.GetSplitTextControl = GroopGrid.Children.OfType <SplitTextControl>().FirstOrDefault(); } item2.Open = false; } past.Open = true; try { GroopGrid.Children.Remove(GroopGrid.Children.OfType <TextControl>().FirstOrDefault()); } catch { } try { GroopGrid.Children.Remove(GroopGrid.Children.OfType <SplitTextControl>().FirstOrDefault()); } catch { } TextControl textControl = past.GetTextControl; textControl.SetValue(Grid.RowProperty, 0); textControl.Margin = new Thickness(0, 1, 0, 0); textControl.SetValue(Panel.ZIndexProperty, 0); GroopGrid.Children.Add(past.GetTextControl); SplitTextControl splitTextControl = past.GetSplitTextControl; splitTextControl.SetValue(Grid.RowProperty, 1); splitTextControl.Margin = new Thickness(0, 1, 0, 0); splitTextControl.SetValue(Panel.ZIndexProperty, 0); GroopGrid.Children.Add(past.GetSplitTextControl); switch (past.IsSplit) { case true: GroopGrid.Children[0].Visibility = Visibility.Collapsed; GroopGrid.Children[1].Visibility = Visibility.Visible; break; case false: default: GroopGrid.Children[0].Visibility = Visibility.Visible; GroopGrid.Children[1].Visibility = Visibility.Collapsed; break; } break; } next = item.Open; item.Open = false; past = item; } }
private void TabButtonControl_ControlClicked(object sender, EventArgs e) { #region Try 1 TabButtonControl tab = (TabButtonControl)sender; foreach (var item in TopPanel.Children.OfType <TabButtonControl>()) { if (item.Open) { item.GetTextControl = GroopGrid.Children.OfType <TextControl>().FirstOrDefault(); item.GetSplitTextControl = GroopGrid.Children.OfType <SplitTextControl>().FirstOrDefault(); } item.Open = false; } tab = (TabButtonControl)sender; try { GroopGrid.Children.Remove(GroopGrid.Children.OfType <TextControl>().FirstOrDefault()); } catch { } try { GroopGrid.Children.Remove(GroopGrid.Children.OfType <SplitTextControl>().FirstOrDefault()); } catch { } TextControl textControl = tab.GetTextControl; textControl.SetValue(Grid.RowProperty, 0); textControl.Margin = new Thickness(0, 1, 0, 0); textControl.SetValue(Panel.ZIndexProperty, 0); GroopGrid.Children.Add(tab.GetTextControl); SplitTextControl splitTextControl = tab.GetSplitTextControl; splitTextControl.SetValue(Grid.RowProperty, 1); splitTextControl.Margin = new Thickness(0, 1, 0, 0); splitTextControl.SetValue(Panel.ZIndexProperty, 0); GroopGrid.Children.Add(tab.GetSplitTextControl); switch (tab.IsSplit) { case true: GroopGrid.Children[0].Visibility = Visibility.Collapsed; GroopGrid.Children[1].Visibility = Visibility.Visible; break; case false: default: GroopGrid.Children[0].Visibility = Visibility.Visible; GroopGrid.Children[1].Visibility = Visibility.Collapsed; break; } #endregion }