Beispiel #1
0
        public CraftWindow(Craft craft, Item item, Data data) : this()
        {
            _craft = craft;
            _data  = data;

            Title = "Рецепт: " + item.Name;

            collectionControl.Init(craft.CraftItems);

            collectionControl.OnAdd = () =>
            {
                var craftItem = new CraftItem();
                var result    = new CraftItemWindow(craftItem, data)
                {
                    Owner = this
                }.ShowDialog() == true;
                if (result)
                {
                    craft.Add(craftItem);
                    TuneControls();
                    return(craftItem);
                }
                return(null);
            };

            collectionControl.OnEdit = obj =>
            {
                new CraftItemWindow((CraftItem)obj, data)
                {
                    Owner = this
                }.ShowDialog();
                TuneControls();
            };

            collectionControl.OnRemove = obj =>
            {
                craft.Remove((CraftItem)obj);
                TuneControls();
                return(true);
            };

            collectionControl.OnConvert = obj =>
            {
                return(((CraftItem)obj).ToString(data));
            };

            tbCount.Text = craft.Count.ToString();

            cbProf.ItemsSource  = data.Professions.OrderBy(p => p.ToString());
            cbProf.SelectedItem = data.Professions.FirstOrDefault(p => p.Id == craft.ProfessionId);

            TuneControls();
        }