Занятие №1 на курса по информационни технологии (2013) провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите:
- Desktop приложения
- Windows Forms
- Windows Presentation Foundation
3. Desktop приложения
• С какво се характеризират desktop
приложенията?
–
–
–
–
–
Графичен потребителски интерфейс (GUI)
Прозорци (форми)
Контроли
Събития и обработчици
Самостоятелни процеси (за разлика от уеб
приложенията)
6. Desktop приложения
• Събития
– Предизвикват се в определен момент от изпълнение
на програмата или в отговор на външно явление
– Могат да бъдат улавяни чрез обработчици, създадени
от програмиста
7. Desktop приложения
• Съобщения
–
–
–
–
–
–
Опашка за съобщения
Цикъл за обработка на съобщения
Обработката е линейна (синхронна)
Нишка за потребителския интерфейс
Съобщенията обикновено предизвикват събития
Програмно изпращане на съобщения
8. Desktop приложения
• Модални диалози
– Прозорци
– Ограничават достъпа до останалите прозорци
– Резултат от диалога
9. Windows Forms
• Какво е Windows Forms?
– Част от .NET Framework
– Платформа за managed desktop приложения
– Обвивка и надграждане на Win32 API
10. Windows Forms
• Използване на Windows Forms
– Windows Forms Application проект
– Пространство от имена System.Windows.Forms
11. Windows Forms
• Прозорци (форми)
–
–
–
–
Базов клас Form
Windows Form файлов шаблон
Главна форма
Метод Show()
12. Windows Forms
• Често използвани свойства на формите
–
–
–
–
–
–
–
–
Size
Text
StartPosition
FormBorderStyle
MinimizeBox, MaximizeBox
ShowInTaskbar
ShowIcon
AcceptButton, CancelButton
18. Windows Forms
• Събития
– Обикновени събития в .NET
– Всяка контрола предоставя събития, съответсващи на
предназначението ѝ
– Обработчици – делегати
– Закачане на обработчици през визуалния редактор
19. Windows Forms
• Модални диалози
–
–
–
–
Методът ShowDialog()
Изброеният тип DialogResult
Свойството Form.DialogResult
Свойството Button.DialogResult
20. Windows Forms
• Data binding
– Пряко обвързване между свойства на контроли и
вътрешни обекти с данни
– Предотвратява описването на излишен програмен код
– Улеснява поддръжката
– Не е приложимо в пълна степен в Windows Forms
21. Windows Forms
• Data binding – автоматично зареждане на
списъци в списъчни контроли
– Поддържа се от ListBox и ComboBox
– Свойството DataSource – обект, който имплементира
IList или IListSource
– Свойството DisplayMember
– Свойството ValueMember
– Свойството SelectedValue
22. Windows Presentation Foundation
• Какво е Windows Presentation Foundation (WPF)?
–
–
–
–
–
Част от .NET Framework (от версия 3.0 насам)
Платформа за managed desktop приложения
Базирана на DirectX, а не на Win32
Позволява разработката на Rich User Interface
Разделя форматирането на интерфейса от
поведението на програмата (XAML и code-behind)
23. Windows Presentation Foundation
• Какво е XAML?
–
–
–
–
–
eXtensible Application Markup Language
Базиран на XML
Служи за деклариране на потребителски интерфейс
Използва се в WPF, Silverlight и WinRT
Visual Studio предоставя удобен визуален редактор за
XAML
24. Windows Presentation Foundation
• Защо XAML?
– Разделя се външният вид на приложението от
поведението му
– Много варианти за потребителски интерфейс за
еднакво поведение
– Възможност интерфейсът да се проектира от
дизайнер, а функционалността – от програмист
25. Windows Presentation Foundation
• Използване на WPF
– WPF Application проект
– Пространство от имена System.Windows
– .xaml и .xaml.cs файлове
26. Windows Presentation Foundation
• Прозорци
Базов клас Window
Коренов елемент Window
Window (WPF) файлов шаблон
Главен прозорец – свойството
Application.MainWindow
– Метод Show()
–
–
–
–
27. Windows Presentation Foundation
• Често използвани свойства на прозорците
–
–
–
–
–
–
–
–
Width, Height
Title
WindowStartupLocation
Top, Left
WindowStyle
ResizeMode
ShowInTaskbar
Icon
28. Windows Presentation Foundation
• Контроли
–
–
–
–
–
–
–
–
Базов клас Control
Label
TextBox
ListBox
ComboBox
CheckBox
RadioButton
Button
35. Windows Presentation Foundation
• Data binding в WPF
– Широко приложим подход
– Data binding е една от основните цели при
проектирането на WPF платформата
– Препоръчва се пред алтернативния подход (controldriven design)
– Свойството FrameworkElement.DataContext
36. Windows Presentation Foundation
• Markup разширението Binding
– Служи за обвързване на свойство на контролата с
данни от контекста
– Възможно е да се укаже сложен път до
свойството, съдържащо търсените данни
– Възможно е обвързването да бъде еднопосочно или
двупосочно
– Възможно е да се укаже тип на обект, служещ за
преобразуване на данните
37. Windows Presentation Foundation
• Какво е Model-View-ViewModel (MVVM)?
– Архитектура, при която програмата е разделена на
три части със строго определена роля
– Models – това са класове, които служат за вътрешно
съхранение на данни, но не описват функционалност
– Views – това са контроли/прозорци, които описват
потребителския интерфейс на приложението, но не
служат за съхранение на данни ине описват
функционалност
– View Models – това са класове, които описват
функционалността на приложението и служат за
посредници между моделите и изгледите
38. Windows Presentation Foundation
• Защо MVVM?
– Трислойна архитектура
– Изолира всеки от слоевете от промени в
реализацията на останалите
– Позволява реализирането на много изгледи за едни и
същи данни (дори и едновременното обвързване на
няколко изгледа с един и същи абстрактен обект в
паметта)