private void Click(object sender, RoutedEventArgs e) { if (sender == BTNswap) { Box1.Visibility = Box1.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible; Box2.Visibility = Box2.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible; } else if (sender == BTNclear) { (((Box1.Visibility == Visibility.Visible ? Box1 : Box2).Child as ScrollViewer).Content as TextBlock).Text = ""; } else if (sender == BTNprintStack) { ((Box1.Child as ScrollViewer).Content as TextBlock).Text = calc.PrintStack(); } else if (sender == BTNmode) { mode = (mode + 1) % 3; calc.SetMode(mode); BTNmode.IsChecked = true; if (mode == 0) { BTNmode.Content = "Polish Notation"; } else if (mode == 1) { BTNmode.Content = "Infix"; } else if (mode == 2) { BTNmode.Content = "Reverse Polish Notation"; } } else if (sender == BTNpush) { try { calc.Eval(InputBox.Text); }catch (Exception ex) { ((Box2.Child as ScrollViewer).Content as TextBlock).Text = ex.ToString(); Box1.Visibility = Visibility.Collapsed; Box2.Visibility = Visibility.Visible; } InputBox.Text = ""; Click(BTNprintStack, e); } }