private void Add_Item_Click(object sender, RoutedEventArgs e) { BindingExpression itemQuantity = tbItemCount.GetBindingExpression(TextBox.TextProperty); itemQuantity.UpdateSource(); if (!itemQuantity.HasValidationError) { if (ChangeItem) { item_list sel_item = (item_list)itemDatagrid.SelectedItem; int index = itemDatagrid.Items.IndexOf(sel_item); int quantity2; int.TryParse(tbItemCount.Text, out quantity2); sel_item.quantity = quantity2; itemDatagrid.Items.RemoveAt(index); itemDatagrid.Items.Insert(index, sel_item); ChangeItem = false; tbItemSearch.Text = ""; tbItemCount.Text = ""; return; } var obj = atbItemSearch.SelectedItem as string; int quantity; int.TryParse(tbItemCount.Text, out quantity); item newItem = null; if (obj != null) { newItem = item.SelectById(items.FirstOrDefault(h => h.Value.Equals(obj)).Key); } if (newItem != null) { var newItemList = EntityFactory.CreateItemList(newItem.id, quantity); itemDatagrid.ItemsSource = null; itemDatagrid.Items.Add(newItemList); tbItemSearch.Text = ""; tbItemCount.Text = ""; } } }
private void btnUpdateItem_Click(object sender, RoutedEventArgs e) { DataGridRow dgr = null; var visParent = VisualTreeHelper.GetParent(e.OriginalSource as FrameworkElement); while (dgr == null && visParent != null) { dgr = visParent as DataGridRow; visParent = VisualTreeHelper.GetParent(visParent); } if (dgr == null) { return; } var rowIdx = dgr.GetIndex(); item_list itemToUpdate = (item_list)itemDatagrid.Items.GetItemAt(rowIdx); atbItemSearch.SelectedItem = itemToUpdate.item; tbItemSearch.Text = itemToUpdate.item.name; tbItemCount.Text = itemToUpdate.quantity.ToString(); ChangeItem = true; }