由于对象的当前状态,操作无效。当我删除一个按钮

时间:2017-10-06 10:55:52

标签: c# wpf xaml

当我开始学习XAML和C#时,我正在将POS项目作为我自己的挑战。

当我尝试删除按钮时会出现问题。我得到一个异常,说System.InvalidOperationException:'由于对象的当前状态,操作无效。'

我在网上搜索了很多,但没有找到任何帮助。

 private void CB_del_Click(object sender, RoutedEventArgs e)
    {
        foreach (Window window in Application.Current.Windows)
        {
            if (window.GetType() == typeof(MainWindow))
            {
                try
                {
                    foreach (Button btn_tst in ((window as MainWindow).SP_plates).Children)
                    {

                        if ((btn_tst as Button).Name == "btn_cheeseburger")

                            if (I_cheese == 1)
                            {
                                (window as MainWindow).SP_plates.Children.Remove((Button)sender);

                            }

                        if (I_cheese != 0)
                        {
                            I_cheese = I_cheese - 1;
                            String count = I_cheese.ToString();
                            String str;
                            str = "CheeseBurger  $7.5  : " + " " + count;
                            Char[] TrimChar = { '(', ')', ',', '.', '.' };
                            String Name = str.Trim(TrimChar);
                            String Name2 = Name.TrimEnd(TrimChar);
                            btn_tst.Content = Name2;
                        }

                    }


                }
                catch (Exception)
                {
                    MessageBox.Show("test");
                    throw new InvalidOperationException();
                }

            }
        }
    }

1 个答案:

答案 0 :(得分:3)

您可以考虑

,而不是删除按钮
  • 将其可见性设置为隐藏
  • 将其启用设置为false&将其文本设置为“缺货”
  • 查看ConvertersBinding并将按钮的可见性设置为转换器,将Burgers的“Count”转换为可见度值,使其在Count == 0上自动隐藏。 / LI>

或类似的。