41909

Простое приложение Windows Presentation Foundation

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2013-10-26

19.29 KB

32 чел.

Лабораторная №4. Простое приложение Windows Presentation Foundation.

Длительность: 8 часов. Да, всего 8 часов!

Теоретическая часть

Необходимо изучить:

  1. Шаблон Model-View-ViewModel (MVVM)
  2. Привязка данных модели к элементам управления пользовательского интерфейса в WPF (Binding)
  3. Команды в WPF и класс RelayCommand
  4. Основные элементы форм и элементов управления WPF, их свойства и способ описания на языке xaml:
  5.  Grid
  6.  StackPanel
  7.  Label
  8.  TextBox
  9.  Button

По WPF написаны тонны книг. Можно пытаться сэкономить время, не ходя на занятия, а эти книжки прочитать самостоятельно (начните с Троелсена в 1400 страниц). А можно сходить на лабораторную, где за 20 минут вам объяснят самое главное.

Практическая часть

Используя среду разработки MS Visual Studio 2010 необходимо добавить в проект, созданный на третьей л/р, следующий функционал.

Часть 1. Повторить функционал прилагаемого примера

Добавить в солюшен новый проект: приложение WPF. Создать главное окно, класс ViewModelLocator, MainViewModel по примеру демонстрационного проекта. Класс RelayCommand скопировать из демонстрационного проекта.

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

Реализовать загрузку коллекции объектов из файла наподобие того, как это сделано в демонстрационном приложении (название файла вводить, например, через TextBox). Реализовать выбор редактируемого объекта через ввод ключевого свойства.

Жёстких требований к интерфейсным решениям нет. Можете попробовать сделать не как в примере, а красиво.

Часть 2. Этого нет в примере

Реализовать удаление объекта из коллекции.

Реализовать создание нового объекта.

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

  1. Слой интерфейса пользователя (User Interface Layer)
  2. Слой бизнес-логики (Business Logic Layer)
  3. Слой доступа к данным (Data Access Layer)

Часть 3. Требования

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

Архитектура WPF-проекта должна соответствовать шаблону MVVM, в частности:

  1. действия, инициируемые пользователем, должны быть реализованы, как WPF-команды (удобно использовать класс RelayCommand, как в примере);
  2. код ViewModel не должен иметь зависимостей от View (главного окна приложения);
  3.  View должен содержать, по возможности, только декларативное описание интерфейса на языке xaml (то, что для главного окна хранится в файле MainWindow.xaml)и не должен содержать логики в code-behind файле (для главного окна хранится в файле MainWindow.cs).

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


 

А также другие работы, которые могут Вас заинтересовать

49317. ФИЗИЧЕСКИЕ МЕТОДЫ ИЗМЕРЕНИЯ ВЯЗКОСТИ ЖИДКОСТИ 736.55 KB
  Изучением сопротивления перемещению вязкости коэффициента внутреннего трения и деформации вещества занимается наука реология методы которой получили широкое распространение как в исследовательской деятельности так и на производстве при решении технологических задач. Разработка газовых и газоконденсатных месторождений и перекачка нестабильных углеводородных...
49318. Расчет АЧХ, ФЧХ и переходной характеристики полосового фильтра 129.03 KB
  Техническое задание 3 АЧХ и ФЧХ Переходная характеристика Заключение Техническое задание Построить АЧХ ФЧХ и переходную характеристику цепи. Схема расчета АЧХ и ФЧХ Операторное передаточное сопротивление: где G =1 R Заменим p на jw АЧХ: ФЧХ: Подставим значения Найдем собственную частоту контура Определим характеристическое сопротивление Рассчитаем добротность Полоса пропускания Таблица 1. ФЧХ 0.
49319. Проект очистных работ для лавы 111.6 KB
  Поэтому проверим возможность применения механизированного комбайнового комплекса в условиях заданной лавы: При выборе механизированного комплекса следует учесть что вынимаемая мощность в данном случае будет складываться из мощности угля и мощности ложной кровли: где мощность пласта угля м; мощность ложной кровли м. В условиях данной лавы возможно применение следующих комбайновых комплексов: 1КМ88; 2КМ87УМА; 1КМ87УМВ; 2КМ87УМВ. при работе по простиранию падению восстанию 15 10 10 20 10 10 20 10 10 20 10 10 Устойчивость...
49320. Разработка программы на алгоритмическом языке программирования Си 195.01 KB
  Программа на языке СИ. Необходимо ответить на вопросы: âЧто заданоâ âКакой должен быть получен результатâ âКак получить результатâ Задача моего варианта курсовой работы заключается в проверке истинности высказывания: Все цифры данного числа различныЭто значит что мне нужно используя знания полученные на курсах информатики а так же при необходимости используя дополнительную литературу составить программу на языке си которая могла бы определить все ли цифры различны в заданном трехзначном...
49321. Пароходик догоняет большой пароход 49.92 KB
  Целью работы также является проведение сравнительного анализа языков программирования. Сравнить языки потребуется как в общем, так и применительно поставленной задаче. Одной из подзадач является создание описание алгоритма программы и составление математической модели. Пароходы будут состоять из линий и окружностей. Для написания выбран язык программирования, среда Delphi 7.
49322. Моделирование логических игровых программ средствами Delphi 747.5 KB
  Объект исследования – применение среды программирования Borland Delphi с целью изучения возможности отображения графической информации, построения фракталов.
49323. СИНТЕЗ СХЕМЫ ГЕНЕРАТОРА ЧИСЕЛ СО СТРУКТУРОЙ АВТОМАТА МУРА 6.4 MB
  Синтезировать схему генератора чисел 0-15-2-1-5-6-10-9 0-13-1-7-5-2-11-6-12 со структурой автомата Мура и Мили на RS и D триггерах в базисе ИЛИ-НЕ, определить схему с минимальным количеством входов, проверить правильность синтеза в MicroCap.
49324. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ МОДУЛЯ ПРОХОЖДЕНИЯ ТЕСТИРОВАНИЯ СИСТЕМЫ ПРОВЕРКИ УЧАЩИХСЯ НА ЗНАНИЕ АЛГОРИТМОВ 1.58 MB
  Обзор систем тестирования Приложение Визуальная студия тестирования Система тестирования INDIGO
49325. Методы локализации неисправностей считывания информации на аппаратуре СВ и РМ 1.63 MB
  После записи числа Х в ячейку памяти У при наличии свободных оперативных регистров контролируем содержимое ячейки ЗУ: на информационном поле оперативного пульта управления набираем адрес У; нажимаем клавиши НУ ЗАП ССП ПУСК; на поле индикации при переключателе режимов установленном на значении ОР число Х не отображается. Вычислительное устройство ВчУ является основным операционным устройством СВ предназначенным для обработки цифровой и логической информации реагирования на сигналы прерывания внешних устройств и управления...