Сам себе генератор отчётов. Выводим содержимое окна WPF на принтер

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

Размещаем WPF окно в dll библиотеке

В Windows Forms можно без труда разместить форму в обычной библиотеке классов. Но, подобный тип библиотек не поддерживает окна WPF. Как быть в этом случае? Не размещать же все окна внутри исполняемого файла… На самом деле выход есть!

Паттерн «Команда» в WPF. «Строгий» вариант реализации паттерна MVVM

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

Реализация паттерна MVVM на примере C# (WPF). «Нестрогий» вариант

Model-View-ViewModel (MVVM) – архитектурный паттерн, ориентированный главным образом на платформы, поддерживающие связывание данных и элементов пользовательского интерфейса (например, WPF). MVVM сравнительно «молодой» паттерн (впервые представлен Джоном Госсманом в 2005 году [1]).

Работаем со словарями (Dictionary) в C# на примере игры «Крестики-Нолики»

В C# ассоциативные массивы как таковые отсутствуют. Вместо них используются словари. Словарь это экземпляр класса Dictionary. Данные в нём хранятся в виде пары «ключ» (TKey) – «значение» (TValue). Доступ к конкретному «значению» осуществляется по соответствующему «ключу». Данный класс является обобщённым и поэтому как в качестве ключа, так и в качестве