예제 #1
0
        private void Calendar_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            TreeNode month = GetMonth(Calendar_New_Item.SelectedDate.Value.Month);

            if (IsnewMonth(month))
            {
                months.Add(month);
            }

            NodeItem item = new NodeItem(reader);
            DialogSetShoppingItem dialog = new DialogSetShoppingItem(item, reader);

            dialog.ShowDialog();
            //month.children.Add(item);
            String stringDay = Calendar_New_Item.SelectedDate.Value.Day.ToString();

            AddItemToMonth(month, stringDay, item);
        }
        private void AddItem_Click(object sender, MouseButtonEventArgs e)
        {
            TreeViewItem actual = sender as TreeViewItem;

            if (actual == null)
            {
                return;
            }
            TreeViewItem parent = ItemsControl.ItemsControlFromItemContainer(actual) as TreeViewItem;

            if (parent == null)
            {
                return;
            }
            TreeNode node       = actual.Tag as TreeNode;
            TreeNode parentNode = node.parent;

            if (parentNode == null)
            {
                return;
            }
            int day = -1;
            //NodeItem nodeItem = node as NodeItem;
            //if (nodeItem == null)
            //    return;
            TreeViewItem newItem = new TreeViewItem();

            if (!Int32.TryParse(node.Title.ToString(), out day) && !Months.IsMonth(node.Title))
            {
                //new item
                DialogSetShoppingItem dialog = new DialogSetShoppingItem(reader);
                Nullable <bool>       result = dialog.ShowDialog();
                if (result == true)
                {
                    AddNewNode(dialog.GetItem(), newItem, parentNode, parent);
                }
            }
            else if (!Months.IsMonth(node.Title))
            {
                //new day
                DialogNewCostDay dialog = new DialogNewCostDay(node.Title, reader);
                Nullable <bool>  result = dialog.ShowDialog();
                if (result == true)
                {
                    AddNewNode(dialog.GetItem(), newItem, parentNode, parent);
                }
            }
            else
            {
                //new month
                DialogNewMonth  dialog = new DialogNewMonth(head.children, parentNode);
                Nullable <bool> result = dialog.ShowDialog();
                if (result == true)
                // AddNewNode(dialog.GetItem(), newItem, parentNode, parent);
                {
                    var newNode = dialog.GetItem();
                    newItem.Tag    = newNode;
                    newItem.Header = newNode.Title;
                    parentNode.children.Add(newNode);
                    parent.Items.Add(newItem);
                    newItem.MouseRightButtonDown += AddItem_Click;
                    newItem.MouseDoubleClick     += TreeNodeItem_DoubleClick;
                    TreeItemViewMain.Items.Refresh();
                }
            }
            e.Handled = true;
        }