public void OnAddListViewItem(object sender, ItemPocketEventArgs e) { ListViewItem listViewItem = new ListViewItem(); listViewItem.SnapsToDevicePixels = true; listViewItem.UseLayoutRounding = true; DockPanel dockPanel = new DockPanel(); dockPanel.Width = 300; Image image = new Image(); image.Source = ItemDatabase.GetItemImageFromID(e.Item.ID); image.Stretch = Stretch.None; image.SnapsToDevicePixels = true; image.UseLayoutRounding = true; TextBlock itemName = new TextBlock(); itemName.VerticalAlignment = VerticalAlignment.Center; itemName.Text = (pocket.PocketType == ItemTypes.Berries ? "No" + (e.Item.ID - 132).ToString("00") + " " : "") + e.Item.ItemData.Name; itemName.TextTrimming = TextTrimming.CharacterEllipsis; itemName.Margin = new Thickness(4, 0, 0, 0); TextBlock itemX = new TextBlock(); itemX.VerticalAlignment = VerticalAlignment.Center; itemX.HorizontalAlignment = HorizontalAlignment.Right; itemX.TextAlignment = TextAlignment.Right; itemX.Text = "x"; itemX.Width = Double.NaN; itemX.MinWidth = 10; itemX.Visibility = (e.Item.ItemData.IsImportant ? Visibility.Hidden : Visibility.Visible); TextBlock itemCount = new TextBlock(); itemCount.VerticalAlignment = VerticalAlignment.Center; itemCount.HorizontalAlignment = HorizontalAlignment.Right; itemCount.TextAlignment = TextAlignment.Right; itemCount.Width = 30; itemCount.Text = e.Item.Count.ToString(); itemCount.Visibility = (e.Item.ItemData.IsImportant ? Visibility.Hidden : Visibility.Visible); listViewItem.Content = dockPanel; pocket.ListViewItems.Insert(e.Index, listViewItem); dockPanel.Children.Add(image); dockPanel.Children.Add(itemName); dockPanel.Children.Add(itemCount); dockPanel.Children.Add(itemX); listViewItem.ContextMenu = contextMenu; listViewItem.ContextMenuOpening += OnContextMenuOpening; DockPanel.SetDock(image, Dock.Left); DockPanel.SetDock(itemCount, Dock.Right); listViewItem.Tag = e.Item; UpdateDetails(); }
public void OnUpdateListViewItem(object sender, ItemPocketEventArgs e) { ((Image)((DockPanel)pocket.ListViewItems[e.Index].Content).Children[0]).Source = ItemDatabase.GetItemImageFromID(e.Item.ID); ((TextBlock)((DockPanel)pocket.ListViewItems[e.Index].Content).Children[1]).Text = (pocket.PocketType == ItemTypes.Berries ? "No" + (e.Item.ID - 132).ToString("00") + " " : "") + e.Item.ItemData.Name; ((TextBlock)((DockPanel)pocket.ListViewItems[e.Index].Content).Children[2]).Text = e.Item.Count.ToString(); pocket.ListViewItems[e.Index].Tag = e.Item; }
public void OnRemoveListViewItem(object sender, ItemPocketEventArgs e) { if (e.Index == selectedIndex) { selectedItem = null; selectedIndex = -1; } pocket.ListViewItems.RemoveAt(e.Index); UpdateDetails(); }
public void OnMoveListViewItem(object sender, ItemPocketEventArgs e) { ItemPocket pocket = sender as ItemPocket; pocket.ListViewItems.Move(e.OldIndex, e.NewIndex); }