Что можно повторно использовать. Как можно повторно использовать чайные пакетики? Пластиковые контейнеры из-под продуктов

Хобби

tl; dr: Я хочу повторно использовать существующую логику компоновки предопределенной панели WPF для пользовательский класс панели WPF. Этот вопрос содержит четыре различные попытки решить эту проблему, каждая из которых имеет разные недостатки и, следовательно, другую точку отказа. Кроме того, небольшой тестовый пример можно найти ниже.

Вопрос: Как правильно достичь этой цели

  • определение моей пользовательской панели, когда
  • внутреннее повторное использование логики компоновки другой панели без
  • работает в проблемах, описанных в моих попытках решить эту проблему?

Я пытаюсь написать собственный WPF panel . Для этого класса панели я хотел бы придерживаться рекомендуемых методов разработки и поддерживать чистый API и внутреннюю реализацию. Конкретно это означает:

  • Я бы хотел избежать копирования и вставки кода; если несколько частей кода имеют одну и ту же функцию, код должен существовать только один раз и повторно использоваться.
  • Я хотел бы применить правильную инкапсуляцию и предоставить внешним пользователям доступ только к таким членам, которые можно безопасно использовать (без нарушения какой-либо внутренней логики или без предоставления какой-либо внутренней информации, специфичной для реализации).

В настоящее время я собираюсь придерживаться существующего макета, я хотел бы повторно использовать другой код компоновки панели (вместо того, чтобы снова писать код компоновки, как предлагается, например ). Для примера я объясню на основе DockPanel , хотя я хотел бы знать, как это сделать в целом, на основе любой вид Panel .

Чтобы повторно использовать логику компоновки, я собираюсь добавить DockPanel в качестве визуального дочернего элемента в моей панели, который затем будет удерживать и компоновать логические дочерние элементы моей панели.

Я пробовал три разные идеи о том, как это решить, и еще один был высказан в комментарии, но каждый из них до сих пор терпит неудачу в другой точке:

1) Внесите внутреннюю панель макета в шаблон управления для настраиваемой панели

Это похоже на самое элегантное решение. Таким образом, панель управления для настраиваемой панели может содержать ItemsControl , чья ItemsPanel свойство использует DockPanel , а привязано к Children property пользовательской панели.

2) Предоставьте список дочерних элементов моей панели, который является всего лишь оберткой вокруг списка дочерних элементов внутренней панели

Такой класс выглядит так, как показано ниже. Я подклассифицировал UIElementCollection в моем классе панели и вернул его из переопределенной версии > CreateUIElementCollection . (Я только скопировал методы, которые на самом деле вызываются здесь, я реализовал другие, чтобы выбросить NotImplementedException , поэтому я уверен, что никакие другие переопределяемые элементы не были вызваны.)

Using System; using System.Windows; using System.Windows.Controls; namespace WrappedPanelTest { public class TestPanel1: Panel { private sealed class ChildCollection: UIElementCollection { public ChildCollection(TestPanel1 owner) : base(owner, owner) { if (owner == null) { throw new ArgumentNullException("owner"); } this.owner = owner; } private readonly TestPanel1 owner; public override int Add(System.Windows.UIElement element) { return this.owner.innerPanel.Children.Add(element); } public override int Count { get { return owner.innerPanel.Children.Count; } } public override System.Windows.UIElement this { get { return owner.innerPanel.Children; } set { throw new NotImplementedException(); } } } public TestPanel1() { this.AddVisualChild(innerPanel); } private readonly DockPanel innerPanel = new DockPanel(); protected override UIElementCollection CreateUIElementCollection(System.Windows.FrameworkElement logicalParent) { return new ChildCollection(this); } protected override int VisualChildrenCount { get { return 1; } } protected override System.Windows.Media.Visual GetVisualChild(int index) { if (index == 0) { return innerPanel; } else { throw new ArgumentOutOfRangeException(); } } protected override System.Windows.Size MeasureOverride(System.Windows.Size availableSize) { innerPanel.Measure(availableSize); return innerPanel.DesiredSize; } protected override System.Windows.Size ArrangeOverride(System.Windows.Size finalSize) { innerPanel.Arrange(new Rect(new Point(0, 0), finalSize)); return finalSize; } } }

Это работает почти правильно; макет DockPanel используется повторно, как ожидалось. Единственная проблема заключается в том, что привязки не находят элементов управления в панели по имени (с ElementName свойство).

Я попытался вернуть внутренние дети из свойства LogicalChildren , но это ничего не изменило:

Protected override System.Collections.IEnumerator LogicalChildren { get { return innerPanel.Children.GetEnumerator(); } }

Кроме того, элементы управления также не могут быть сфокусированы, например. нажав Tab . Я не знаю, как это исправить.

Кроме того, я немного опасаюсь идти этим путем, так как не знаю, какие внутренние связи между внутренней панелью и исходным списком детей я нарушаю, заменив этот список дочерних объектов на пользовательский объект.

4) Наследовать непосредственно из класса панели

Пользователь Clemens предлагает напрямую наследовать мой класс от DockPanel . Однако есть две причины, почему это не очень хорошая идея:

  • Текущая версия моей панели будет опираться на логику компоновки DockPanel . Однако, возможно, что в какой-то момент в будущем этого будет недостаточно, и кому-то действительно придется писать логику пользовательского макета в моей панели. В этом случае замена внутреннего DockPanel на пользовательский макетирующий код тривиальна, но удаление DockPanel из иерархии наследования моей панели будет означать изменение прерывания.

В качестве тестового примера для наблюдения описанных проблем добавьте экземпляр настраиваемой панели, протестированной в XAML, и внутри этого элемента добавьте следующее:

Текстовый блок должен быть оставлен из текстового поля, и он должен показывать все, что в настоящее время написано в текстовом поле.

Я ожидал бы, что текстовое поле будет доступно для кликов, а выходное представление не будет отображать какие-либо ошибки привязки (так что привязка также должна работать).

Таким образом, мой вопрос:

  • Можно ли зафиксировать любую из моих попыток, чтобы привести к правильному решению? Или есть совершенно другой способ, который предпочитает то, что я пытался делать, что я ищу?

«Шеф-редактор блога GetGoodRank, веб-аналитик, блоггер.
Приводим короткий гид по идеям, как использовать контент повторно. В какие новые форматы лучше конвертировать старые публикации?»

Если вы публикуете контент один раз, вы не используете его потенциал по полной. Переработка старого контента занимает меньше времени, а эффект в разы лучше. Более того, конвертируя контент из одного формата в другой, вы улучшаете его восприятие целевой аудиторией. Ведь не секрет, что пользователи по разному воспринимают графику, текст, видео, звук. Предлагаем простые идеи переработки старого контента с пользой для контент-плана и аудитории.

Что делать со старыми публикациями в блоге?

Публикация в блоге конвертируется в видео материал, подкаст, рассылку, серию твитов, печатную версию (буклет, листовка, печатный промо-материал).

Что делать со старым интервью?

Интервью конвертируется в презентацию, видео, новую публикацию в блоге в форме статьи, изображения для социальных сетей (Pinterest, Instagram), публикации для Facebook, LinkedIn, ВКонтакте.

Что делать со старой подборкой тематических постов?

Подборка тематических постов конвертируется в электронную книгу (для генерации новых подписок), серию подкастов (для увеличения охвата аудитории и представленности компании на таких площадках как Zvooq, SoundCloud), в одностраничник.

Какие публикации подходят для повторного использования?

Для повторного использования подходят публикации, соответствующие одному или нескольким из следующих критериев:

  • посещаемость
  • высокое количество социальных сигналов
  • высокие позиции в поиске

При повторном использовании контента важно:

  • проверить актуальность данных
  • проверить, есть ли более актуальные исследования по теме либо важные изменения

Пластиковые и картонные контейнеры для яиц, во-первых, можно повторно использовать по прямому назначению. Если покупать яйца нефасованными, то они обойдутся дешевле, так как не придётся переплачивать за упаковку. А чтобы было удобно транспортировать их, используйте уже имеющийся контейнер.

Во-вторых, картонные ячейки отлично подходят для выращивания рассады перед перемещением её в открытый грунт или .

Balconygardenweb.com

В-третьих, на картонные ячейки можно поставить перегревающийся при работе ноутбук. Рельефная поверхность контейнера не будет мешать доступу воздуха для охлаждения устройства.

2. Молотый кофе

Молотые кофейные зёрна пригодны к использованию и после того, как напиток сварен и выпит, но уже в косметических целях. Из них получается эффективный . Самый простой вариант - просто потереть кожу влажной массой.

Несколько лет назад хозяйки смеялись над теми, кто покупал тряпки для уборки, ведь для этого можно использовать изношенные вещи. Сейчас ситуация поменялась, и странно смотрят скорее на тех, кто моет полы старой майкой. Тем не менее использовать для уборки отслуживший текстиль экологично и экономично.

Ещё один давно известный, но подзабытый вариант - разорвать трикотаж на полоски и связать из них коврик. При некоторой аккуратности получится полное .


offthegridnews.com

4. Полиэтиленовые пакеты

Если вы так и не прониклись идеей купить и носить её с собой и продолжаете покупать пакеты, хотя бы найдите им повторное применение. Например, пластиковое изделие можно взять с собой, когда в следующий раз пойдёте за покупками. А потом оно отлично заменит мусорный пакет.

Стеклянные ёмкости из-под солений, кофе и других продуктов превратятся в обычные банки, если с них смыть этикетки. Проблемой могут стать брендированные крышки, но купить только крышку будет гораздо дешевле, чем посуду целиком. Банки можно использовать в качестве подсвечников, ваз для цветов, ёмкостей для хранения пищевых продуктов или разных мелочей.


pinterest.com

6. Зубная щётка

Старой зубной щёткой удобно отмывать щели и труднодоступные места, швы на плитке и даже овощи.

Не выбрасывайте отслужившую своё шапочку для душа. Её можно использовать, чтобы быстро упаковать обувь, закрыв грязную подошву. И не придётся тратиться на чехол для ботинок.


jewelpie.com

8. Шнурки и ленты

Шнурки и ленты пригодятся для упаковки подарков и перевязывания всего, что можно перевязать.

Металлический противень можно покрасить или оклеить бумагой, найти пару магнитов, и получится доска для хранения заметок и записок.


cacheliving.com

10. Пластиковые бутылки

В небольших пластиковых бутылках удобно брать воду с собой. Специальная и более эстетичная ёмкость обойдётся вам значительно дороже, но разница межу ними будет заметна только на фотографиях в Instagram.

Если намотать на картонные цилиндры провода или гирлянды, то они не спутаются. Несколько цилиндров и коробка или чемодан могут превратиться в органайзер для хранения тех же проводов или других не очень мелких вещей.


instructables.com

Одна сломанная вешалка - это две прищепки, которыми можно закрывать пакеты с крупами.


pinterest.com

13. Бутылочки из-под кетчупа

Иногда в общепите можно увидеть, что майонез и другие соусы перелиты в бутылочки из-под кетчупа. Никто не мешает вам повторить этот фокус дома и не тратиться на специальные ёмкости. Заодно можно сэкономить, покупая соусы в больших, но неудобных для использования банках.

Глянцевые издания можно сдать в макулатуру, а можно сделать из них пуфик или прикроватную тумбочку. В первом случае сверху нужно закрепить подушку, во-втором - ограничиться журналом с более-менее твёрдой обложкой.


homedesignlover.com

15. Пластиковые контейнеры из-под продуктов

Ведёрки из-под майонеза, контейнеры из-под плавленого сыра и другие подобные ёмкости сделаны из пищевого материала, отлично выполняют свои функции и уже у вас есть. Так что можно обойтись без покупки подобной посуды.

16. Чемодан

Из старого чемодана может получиться комфортный лежак для домашнего питомца. А чтобы сделать лежанку мягкой, пригодятся полотенца из одного из предыдущих пунктов (до того, как ими помыли полы, разумеется).


tinnhanhblog.com

17. Потёртые варежки

В старых варежках можно хранить солнцезащитные очки, которые не поцарапаются и не разобьются в таком чехле. Для красоты можно отрезать отделение для пальца на рукавице и аккуратно его зашить, но и в первозданном виде варежка отлично справится со своей задачей.

1 отзыв

Продолжаем раздел "Рукоделие " и подраздел " " статьёй вещей. Где предлагаем вашему вниманию несколько примеров того, как можно повторно и использовать то, чем уже пользовались — и принести пользу не только себе (оригинальностью), но и окружающей среде (безотходностью).

Рукоделие и повторное использование вещей на самом деле неразрывно связаны сотни лет. Так, например, квилтинг и из ткани — это не что иное, как повторное использование в других случаях не нужных обрезков ткани. Или техника кракелюра, состаривания — также делается на уже использованных вещах. Сегодня же обратим внимание на более промышленные предметы и их использование. Кстати, подобная тема уже затрагивалась в статьях

И многие другие. Начнём мы демонстрацию примеров повторного использования вещей в рукоделии с повторного использования теннисных ракеток. Странное начало, конечно — но вдруг вы обладаете кучей теннисных ракеток, которые уже не применяете по назначению? Тогда вы можете сделать из них что-то типа декоративной и ширмы, загородки, перегородки:

Раз уж мы затронули теннис, то обратим внимание на применение второй его части — теннисных мячиков. В качестве удобного массажного анатомического кресла:

Теперь переходим к способу безотходного применения стеклянных бутылок.

Кстати, повторное применение бутылок мы затрагивали в статьях "Дома из пластиковых бутылок ", "Что можно сделать из пластиковых бутылок? ", так что обращайтесь 🙂

От пластиковых бутылок можем плавно перейти к пластиковым канистрам от разнообразных веществ. А канистры можно приспособить повторно не менее оригинально:

Продолжаем аналогию с лампами и смотрим, что можно сделать с использованными пластиковыми стаканчиками:

Экология потребления. Лайфхак: В нашем доме много вещей, которые мы готовы выбросить, но это не мусор. Почему не проявить креативность и не дать им новую жизнь?

В нашем доме много вещей, которые мы готовы выбросить, но это не мусор. Почему не проявить креативность и не дать им новую жизнь?

Каждый день люди «продуцируют» тонны мусора, который загрязняет окружающую среду.

В виду этой большой проблемы многие эксперты предлагают разные решения и проекты, которые побуждали бы людей использовать мусор повторно и уменьшить «мусорную нагрузку» на природу.

Научиться использовать повторно вещи, предназначенные в мусор, нелегко. Но зная, что это возможно, можно этого добиться.

В наших домах много вещей, на которые мы смотрим, как на мусор, но которые на самом деле - не мусор. Мы поделимся некоторыми идеями о том, как можно снова использовать вещи, которые кажутся бесполезными.

Пластиковые бутылки

Если мы хотим быть «дружественно настроены» по отношению к окружающей среде, воду в бутылках лучше вообще не покупать. Иногда у нас просто нет другого выхода, и мы вынуждены это делать. Но мы можем, по крайней мере, не превращать пластиковые бутылки в мусор, а найти им другое применение.

Почему бы не превратить их в маленькие горшочки?

  • Отрежь нижнюю часть бутылки и сделай в ее дне несколько отверстий (дренаж). Насыпь туда земли и можешь сажать , что пожелаешь.
  • Если предпочитаешь что-то более креативное, можешь раскрасить бутылки и превратить их в вазочки для цветов .

Старые джинсы

Твои джинсы вышли из моды или они стали тебе малы? Если никто больше не хочет их носить или ты хочешь превратить их во что-то полезное для тебя, есть много вещей, которые можно сделать из них.

  • Отрежь штанины, а из верхней части брюк можно сделать красивую сумку . Конечно, ее можно украсить любыми деталями, какими ты пожелаешь.
  • Из штанин можно сделать кошелек или бумажник.
  • Можно сделать из джинсов симпатичный органайзер , используя для этого части разных джинсов с карманами.

Этот предмет кухонной утвари нам постоянно хочется заменить на новый, так как он быстро теряет «товарный вид».

Но не нужно спешить его выбрасывать, его вполне можно использовать по-другому.

  • Раскрась старые терки и сделай из них оригинальные фонари в саду .
  • Укрась терку, как посчитаешь нужным и сделай из нее место для хранения мелких «висячих» предметов.

Консервные банки

За неделю мы обычно выбрасываем одну или две консервные банки. Зачем это делать, если мы можем найти им вполне практичное применение?

  • Хорошо вымой банку и прикрепи к ней палочки от мороженного. Что имеем в результате? Практичный подсвечник или маленький горшочек.
  • Другой вариант. Раскрасим банку, наполним ее поролоном, а сверху положим кусочек ткани. Получится что-то вроде подушечки для иголок.

Это один из предметов, которые использовать повторно очень легко. Из картонных коробок можно сделать много разных вещей, и, если приложить к этому фантазию, они могут получиться очень красивые.

  • Сделай из одной или нескольких коробок нечто вроде сумки для книг .
  • Сделай коробки для подарков .
  • Картон для укрепления можно обернуть пропитанной клеем бумагой, и получится прекрасная рамка для фотографий.

Перегоревшие лампочки

Перегоревшие лампочки классической формы можно использовать для украшения дома.

  • Отдели верхнюю часть лампочки, вынь из нее «внутренности», налей в нее воды и размести там какие-то растения .
  • Чтобы она держалась на столе, можно ее приклеить или сделать подставку из проволоки.

Стеклянные бутылки

Стекло придает вещам налет элегантности, и мы можем это использовать.

  • Вставляем в бутылки (они могут быть и прозрачными, и из цветного стекла) небольшие лампочки и получаем чудесные светильники для сада.
  • Можно раскрасить половинки бутылок и сделать из них декоративные подсвечники , которые будут украшать наш стол.

Картонная коробка из-под яиц

Проявив креативность, можно найти разные применения для обычной картонки из-под яиц.

  • Тебе же нужна подставка под твой ноутбук, чтобы он не перегревался? Картонка из-под яиц прекрасно выполнит эту функцию.
  • В ней можно разместить красивые декоративные цветы .
  • В такой коробке можно хранить пуговицы, вязальные крючки и другие мелкие предметы. о публиковано

Присоединяйтесь к нам в