41909

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

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

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

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

Русский

2013-10-26

19.29 KB

31 чел.

Лабораторная №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).

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


 

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

24691. ПРИНЦИП ДЕЙСТВИЯ ПРОДОЛЬНОЙ ДИФФЕРЕНЦИАЛЬНОЙ ЗАЩИТЫ 122 KB
  Принцип действия продольных дифференциальных РЗ основан на сравнении значения и фазы токов в начале и конце защищаемой ЛЭП.1 а при внешнем КЗ в точке К токи I1 и I11 на концах ЛЭП АВ направлены в одну сторону и равны по значению а при КЗ на защищаемой ЛЭП рис. Следовательно сопоставляя значение и фазу токов I1 и I11 можно определять где возникло КЗ на защищаемой ЛЭП или за ее пределами.
24692. ЗАЩИТA ГЕНЕРАТОРОВ 41.5 KB
  Подобная защита начала также применяться и в отечественной практике. ЗАЩИТА ОТ МЕЖДУФАЗНЫХ КОРОТКИХ ЗАМЫКАНИЙ В ОБМОТКЕ СТАТОРА Назначение и общие принципы выполнения защиты. ЗАЩИТА ОТ ЗАМЫКАНИЙ МЕЖДУ ВИТКАМИ ОДНОЙ ФАЗЫ Защита от витковых замыканий имеет ограниченное применение вследствие отсутствия простых способов ее осуществления. В связи с этим чувствительность защиты должна быть очень высокой и защита должна действовать на отключение.
24693. МАКСИМАЛЬНЫЕ ТОКОВЫЕ ЗАЩИТЫ С РЕЛЕ ПРЯМОГО ДЕЙСТВИЯ 557.5 KB
  Выпускаются токовые реле прямого действия мгновенные типа РТМ и с ограниченно зависимой характеристикой РТВ.32 а и б показаны двухфазные схемы МТЗ с реле типа РТВ. Реле РТВ представляет собой электромагнитное реле с втягивающимся якорем рис.
24694. НЕСЕЛЕКТИВНЫЕ ОТСЕЧКИ 45 KB
  Такая отсечка применяется для быстрого отключения КЗ в пределах всей защищаемой ЛЭП. Неселективное действие отсечки при КЗ вне ЛЭП исправляется при помощи АПВ включающего обратно отключившуюся ЛЭП. При этом пускается устройство АПВ которое включает обратно неселективно отключившуюся ЛЭП W1 и восстанавливает питание подстанции В.
24695. УКАЗАТЕЛЬНЫЕ РЕЛЕ 101 KB
  20 показано указательное реле типа РУ21 сигнализирующее действие РЗ на отключение выключателя. При срабатывании РЗ по обмотке реле 3 проходит ток приводящий реле в действие. Ввиду кратковременности прохождения тока в обмотке указательных реле они выполняются так что сигнальный флажок и контакты реле остаются в сработанном состоянии до тех пор пока их не возвратит на место обслуживающий персонал.
24696. НЕОБХОДИМОСТЬ И СПОСОБЫ РЕЗЕРВИРОВАНИЯ 177 KB
  С ними нельзя не считаться поскольку отказ РЗ или выключателя означает неотключение КЗ а следовательно длительное прохождение токов КЗ и снижение напряжения в сети. Наряду с принятием мер по повышению надежности действия РЗ и выключателей особо важное значение приобретает резервирование отключения КЗ в случае отказа выключателя или действующей на него РЗ. Применяются два способа резервирования: дальнее осуществляемое РЗ и выключателями смежных участков установленными на соседних энергообъектах; ближнее осуществляемое РЗ и...
24697. НАЗНАЧЕНИЕ ЗАЩИТЫ ШИН 380.5 KB
  ДИФФЕРЕНЦИАЛЬНАЯ ЗАЩИТА ШИН Дифференциальная РЗ шин ДЗШ рис. Для питания ДЗШ на всех присоединениях устанавливаются ТТ с одинаковым коэффициентом трансформации К независимо от мощности присоединения. Тогда при внешних КЗ X 1пр = 0 и реле не будет действовать а при КЗ в зоне на шинах равна сумме токов КЗ притекающих к месту повреждения и ДЗШ работает. Вторичные токи направлены в обмотке реле одинаково поэтому ток в реле равен их сумме: Так както Выражение показывает что При КЗ на шинах ДЗШ реагирует на...
24698. 34 ЗАЩИТА АД 110 KB
  Наиболее просто токовая отсечка выполняется с реле прямого действия встроенными в привод выключателя. С реле косвенного действия отсечка выполняется с независимыми токовыми реле по схемам на рис.7; Iпуск пусковой ток электродвигателя; k0TC коэффициент отстройки Токовую РЗ электродвигателей мощностью до 2000 кВт следует выполнять как правило по наиболее простой и дешевой однорелейной схеме рис. На электродвигателях мощностью 20005000 кВт токовая отсечка выполняется двухрелейной.
24699. Основные особенности выполнения РЗ на блоках 88 KB
  2 отсутствие электрической связи между генератором и сетью имеющее место в блочных схемах облегчает решение вопросов селективности РЗ генератора от замыканий на землю вследствие высокой стоимости мощных генераторов и трансформаторов повышенные требования в части чувствительности быстродействия и надежности на блоках без поперечных связей необходимость действия на останов блока в целом; На блоках малой мощности до 30 МВт включительно в качестве РЗ от внешних КЗ применяется МТЗ с комбинированным пуском по напряжению. На блоках...