Esempio n. 1
0
        void Redraw()
        {
            ItemList.Items.Clear();
            InventoryList.Items.Clear();
            foreach (var item in Database.Items)
            {
                var node = new TreeViewItem()
                {
                    Header = $"{item.Type}: {item.Properties["m_id"]}"
                };
                node.MouseDoubleClick += async(sender, args) =>
                {
                    int index = Database.Items.IndexOf(item);
                    Database.Items[index] = await ItemEditor.OpenItem(item);

                    UpdateStatusBar("Updated item");
                    Redraw();
                };
                node.MouseRightButtonUp += (sender, args) =>
                {
                    ContextMenu menu = new ContextMenu();

                    var deleteBtn = new MenuItem();
                    deleteBtn.Header = "Remove Selected";

                    deleteBtn.Click += (o, args1) =>
                    {
                        Database.Items.Remove(item);
                        Redraw();
                    };

                    menu.Items.Add(deleteBtn);

                    menu.Placement = PlacementMode.MousePoint;
                    menu.IsOpen    = true;
                };
                ItemList.Items.Add(node);
            }

            foreach (var item in Database.Inventories)
            {
                var node = new TreeViewItem()
                {
                    Header = $"{item.m_owner}: {item.m_id}"
                };
                node.MouseDoubleClick += async(sender, args) =>
                {
                    int index = Database.Inventories.IndexOf(item);
                    Database.Inventories[index] = await Windows.InventoryEditor.GetInventory(item);

                    UpdateStatusBar("Updated item");
                    Redraw();
                };

                node.MouseRightButtonUp += (sender, args) =>
                {
                    ContextMenu menu = new ContextMenu();

                    var deleteBtn = new MenuItem();
                    deleteBtn.Header = "Remove Selected";

                    deleteBtn.Click += (o, args1) =>
                    {
                        Database.Inventories.Remove(item);
                        Redraw();
                    };

                    menu.Items.Add(deleteBtn);

                    menu.Placement = PlacementMode.MousePoint;
                    menu.IsOpen    = true;
                };
                InventoryList.Items.Add(node);
            }
        }