private void RevertButton_Click(object sender, RoutedEventArgs e)
        {
            Button  l1 = sender as Button;
            Grid    l2 = l1.Parent as Grid;
            ListBox l3 = l2.Parent as ListBox;

            if (!StatusSteps.Count.Equals(0))
            {
                myItem BackItem = StatusSteps[StatusSteps.Count - 1];
                OrderMenu.Items.Insert(OrderMenu.Items.Count - 1, BackItem);
                StatusSteps.RemoveAt(StatusSteps.Count - 1);

                if (GlobalInfo.isItemSpecial(BackItem.IName))
                {
                    return;
                }

                bool isContain = false;
                foreach (var cg in GlobalInfo.TotalOrderListBox.Items)
                {
                    try
                    {
                        if ((cg as CountGrid).linkItem.IName.Equals(BackItem.IName))
                        {
                            (cg as CountGrid).KindCount += BackItem.Count;
                            isContain = true;
                            break;
                        }
                    }
                    catch
                    {
                    }
                }

                if (!isContain)
                {
                    GlobalInfo.TotalOrderListBox.Items.Add(new CountGrid(BackItem));
                }
            }
            ;
        }
        public OrderMenuForm(OrderMenuList orderMenuList, string TableNumber)
        {
            InitializeComponent();

            ordermenu = orderMenuList;

            var ItemCOL = OrderMenu.Items;

            SolveCoder();

            int CountComboItem = 0;

            foreach (TextBlock tblkcombo in comboBox.Items)
            {
                if (tblkcombo.Text.Contains(TableNumber))
                {
                    break;
                }

                CountComboItem++;
            }

            comboBox.SelectionChanged += ComboBox_SelectionChanged;
            comboBox.SelectedIndex     = CountComboItem;

            ListBox PrintBox = new Printform().Content as ListBox;
            string  Uid      = OrderMenu.Uid = DateTime.Now.ToString("HHmmssMMdd");

            TextBlock tbnbk = new TextBlock();

            tbnbk.FontSize = 16;
            tbnbk.Text     = "桌號 : " + (comboBox.SelectedItem as TextBlock).Text + "  " + Uid + OrderCode.ToString("D2");

            //MessageBox.Show(tbnbk.Text);
            PrintBox.Items.Add(tbnbk);

            int Amount = 0;

            foreach (myItem x in orderMenuList.GetItems())
            {
                x.vblk2text = new Viewbox();
                TextBlock textblk = new TextBlock();

                textblk.FontSize = 18;

                x.ck.Height = 24;
                x.ck.Children.Add(x.vblk2text);
                x.vblk2text.Child = textblk;
                x.vblk2text.PreviewMouseLeftButtonUp += previewMouseLeftButtonUP;

                if (x.Count != 1)
                {
                    textblk.Text = x.IName + "*" + x.Count;
                }
                else
                {
                    textblk.Text = x.IName;
                }

                ItemCOL.Insert(ItemCOL.Count - 1, x);

                Amount += x.Count * x.Price;
                TextBlock tbnlk = new TextBlock();
                tbnlk.Text     = x.IName + "(" + x.Price + ")" + "*" + x.Count;
                tbnlk.FontSize = 20;
                PrintBox.Items.Add(tbnlk);

                if (GlobalInfo.isItemSpecial(x.IName))
                {
                    continue;
                }

                bool isContain = false;
                foreach (var cg in GlobalInfo.TotalOrderListBox.Items)
                {
                    try
                    {
                        if ((cg as CountGrid).linkItem.IName.Equals(x.IName))
                        {
                            isContain = true;
                            (cg as CountGrid).KindCount += x.Count;
                            break;
                        }
                    }
                    catch
                    {
                    }
                }

                if (!isContain)
                {
                    GlobalInfo.TotalOrderListBox.Items.Add(new CountGrid(x));
                }
            }

            TextBlock tbAmount = new TextBlock();

            tbAmount.Text                = "總價 : " + Amount.ToString();
            tbAmount.FontSize            = 24;
            tbAmount.HorizontalAlignment = HorizontalAlignment.Right;
            PrintBox.Items.Add(tbAmount);

            PrintDialog pd = new PrintDialog();

            pd.PrintVisual(PrintBox, OrderMenu.Uid);

            //InitialStatusListBox = SerializeObj.DeepCopy<ListBox>(OrderMenu);

            StatusSteps = new List <myItem>();
        }