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).

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


 

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

60814. Зимние праздники 45.5 KB
  Цель урока: Формирование у учащихся более полного представления о народной праздничной культуре русского народа. Задачи: 1. Обобщить полученные знания по русским зимним праздникам.
60815. Музыка осени 161 KB
  Уметь: Умение откликаться на музыку различного характера и различать его; умение воспринимать выразительные средства музыки. Прогнозируемые результаты: эмоциональный отклик на музыку осени осмысленно владеть способами певческой деятельности...
60816. Великий Кобзар. Д. Красицький «Тарас Шевченко». Урок з читання 98 KB
  Мета: розширити знання учнів про життя і творчість Т. Г. Шевченка; удосконалювати навички правильного, виразного, швидкого читання; збагачувати словниковий запас учнів; розвивати мовлення, критичне мислення, творчі здібності дітей; сприяти національному вихованню учнів.
60817. Моя мережа: Інтернет очима дітей 6.56 MB
  Задачі проекту навчальні розвиваючі виховні Поглибити знання учнів про можливості обєднання різнотипної інформації в одному електронному документі за допомогою засобів мультимедіа. Мотивація діяльності учнів.
60819. Навчання читання на уроках англійської мови в початковій школі 236 KB
  Необхідно приділяти особливу увагу навчанню молодших школярів таких видів мовленнєвої діяльності як читання аудіювання говоріння. Читання іноземною мовою як вид мовленнєвої діяльності...
60821. Гайдамаки. Складність історичної долі українського народу. Сюжетні лінії твору, кульмінаційні вершини. Посталий народ як герой поеми. Образ Яреми. Заклик до єднання словянських народів 72.5 KB
  Девятикласники називають інші джерела: розповіді перекази про повстання які чув Шевченко від старожилів історичні матеріали. 1768 повстання селян що ввійшло в історію під назвою Коліївщина.