// редактирование
        private void Edit_Click(object sender, RoutedEventArgs e)
        {
            // если ни одного объекта не выделено, выходим
            if (phonesList.SelectedItem == null)
            {
                return;
            }
            // получаем выделенный объект
            Catalog phone = phonesList.SelectedItem as Catalog;

            PhoneWindow phoneWindow = new PhoneWindow(new Catalog
            {
                Id       = phone.Id,
                FullName = phone.FullName,
                AlcCode  = phone.AlcCode,
                Price    = phone.Price
            });

            if (phoneWindow.ShowDialog() == true)
            {
                // получаем измененный объект
                phone = db.Catalogs.Find(phoneWindow.catalog.Id);
                if (phone != null)
                {
                    phone.FullName        = phoneWindow.catalog.FullName;
                    phone.AlcCode         = phoneWindow.catalog.AlcCode;
                    phone.Price           = phoneWindow.catalog.Price;
                    db.Entry(phone).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
        }
        // добавление
        private void Add_Click(object sender, RoutedEventArgs e)
        {
            PhoneWindow phoneWindow = new PhoneWindow(new Catalog());

            if (phoneWindow.ShowDialog() == true)
            {
                Catalog phone = phoneWindow.catalog;
                db.Catalogs.Add(phone);
                db.SaveChanges();
            }
        }