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; }