Курс по информационни технологии (2013) - 1. desktop...
DESCRIPTION
Занятие №1 на курса по информационни технологии (2013) провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите: - Desktop приложения - Windows Forms - Windows Presentation FoundationTRANSCRIPT
![Page 1: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/1.jpg)
2013Copyright © 2013 DAVID Holding Company
Курс по информационни
технологииЗанятие №1Desktop приложения. Windows
Forms.Windows Presentation Foundation
![Page 2: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/2.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Съдържание 1/1
• Desktop приложения• Windows Forms• Windows Presentation Foundation
![Page 3: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/3.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• С какво се характеризират desktop приложенията?– Графичен потребителски интерфейс (GUI)– Прозорци (форми)– Контроли– Събития и обработчици– Самостоятелни процеси (за разлика от уеб
приложенията)
![Page 4: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/4.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Прозорци– Видима област– Заглавна лента– Системни бутони– Фиксиран/променлив размер– Главен прозорец
![Page 5: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/5.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Контроли– Визуални компоненти– Контейнери– Йерархия от контроли– Потребителски контроли
![Page 6: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/6.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Събития– Предизвикват се в определен момент от
изпълнение на програмата или в отговор на външно явление
– Могат да бъдат улавяни чрез обработчици, създадени от програмиста
![Page 7: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/7.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Съобщения– Опашка за съобщения– Цикъл за обработка на съобщения– Обработката е линейна (синхронна)– Нишка за потребителския интерфейс– Съобщенията обикновено предизвикват
събития– Програмно изпращане на съобщения
![Page 8: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/8.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Модални диалози– Прозорци– Ограничават достъпа до останалите прозорци– Резултат от диалога
![Page 9: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/9.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Какво е Windows Forms?– Част от .NET Framework– Платформа за managed desktop приложения– Обвивка и надграждане на Win32 API
![Page 10: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/10.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Използване на Windows Forms– Windows Forms Application проект– Пространство от имена System.Windows.Forms
![Page 11: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/11.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Прозорци (форми)– Базов клас Form– Windows Form файлов шаблон– Главна форма– Метод Show()
![Page 12: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/12.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на формите– Size– Text– StartPosition– FormBorderStyle– MinimizeBox, MaximizeBox– ShowInTaskbar– ShowIcon– AcceptButton, CancelButton
![Page 13: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/13.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button
![Page 14: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/14.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контроли– ListView– TreeView– MonthCalendar– DateTimePicker– RichTextBox– WebBrowser
![Page 15: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/15.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на контролите– Parent– Size– Location– Margin– Dock– Anchor– Text– Enabled– Visible
![Page 16: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/16.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на контролите– ForeColor– BackColor– Font– TabIndex– Tag
![Page 17: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/17.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контейнери– Panel– GroupBox– FlowLayoutPanel– SplitContainer– TabControl– TableLayoutPanel
![Page 18: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/18.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Събития– Обикновени събития в .NET– Всяка контрола предоставя събития,
съответсващи на предназначението ѝ– Обработчици – делегати– Закачане на обработчици през визуалния
редактор
![Page 19: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/19.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Модални диалози– Методът ShowDialog()– Изброеният тип DialogResult– Свойството Form.DialogResult– Свойството Button.DialogResult
![Page 20: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/20.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Data binding– Пряко обвързване между свойства на
контроли и вътрешни обекти с данни– Предотвратява описването на излишен
програмен код– Улеснява поддръжката– Не е приложимо в пълна степен в Windows
Forms
![Page 21: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/21.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Data binding – автоматично зареждане на списъци в списъчни контроли– Поддържа се от ListBox и ComboBox– Свойството DataSource – обект, който
имплементира IList или IListSource– Свойството DisplayMember– Свойството ValueMember– Свойството SelectedValue
![Page 22: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/22.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Какво е Windows Presentation Foundation
(WPF)?– Част от .NET Framework (от версия 3.0 насам)– Платформа за managed desktop приложения– Базирана на DirectX, а не на Win32– Позволява разработката на Rich User Interface– Разделя форматирането на интерфейса от
поведението на програмата (XAML и code-behind)
![Page 23: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/23.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Какво е XAML?– eXtensible Application Markup Language– Базиран на XML– Служи за деклариране на потребителски
интерфейс– Използва се в WPF, Silverlight и WinRT– Visual Studio предоставя удобен визуален
редактор за XAML
![Page 24: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/24.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Защо XAML?– Разделя се външният вид на приложението от
поведението му– Много варианти за потребителски интерфейс
за еднакво поведение– Възможност интерфейсът да се проектира от
дизайнер, а функционалността – от програмист
![Page 25: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/25.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Използване на WPF– WPF Application проект– Пространство от имена System.Windows– .xaml и .xaml.cs файлове
![Page 26: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/26.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Прозорци– Базов клас Window– Коренов елемент Window– Window (WPF) файлов шаблон– Главен прозорец – свойството Application.MainWindow
– Метод Show()
![Page 27: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/27.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на прозорците– Width, Height– Title– WindowStartupLocation– Top, Left– WindowStyle– ResizeMode– ShowInTaskbar– Icon
![Page 28: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/28.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button
![Page 29: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/29.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контроли– Border– ListView– TreeView– Calendar– DatePicker– RichTextBox– WebBrowser
![Page 30: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/30.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на контролите– Parent– Width, Height– HorizontalAlignment, VerticalAlignment– Content– Items– HorizontalContentAlignment, VerticalContentAlignment
– Margin– IsEnabled– Visibility
![Page 31: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/31.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на контролите– Foreground– Background– FontFamily, FontSize– TabIndex– Tag
![Page 32: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/32.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контейнери– Canvas– GroupBox– StackPanel– TabControl– UniformGrid– Grid
![Page 33: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/33.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Събития– Маршрутизирани събития– Стратегия за маршрутизиране:
• Отгоре надолу (tunneling)• Отдолу нагоре (bubbling)• Директно (direct) – аналогично с обикновените
събития в .NET
– Двойки tunneling и bubbling събития
![Page 34: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/34.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Модални диалози– Методът ShowDialog()– Свойството Window.DialogResult
![Page 35: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/35.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Data binding в WPF– Широко приложим подход– Data binding е една от основните цели при
проектирането на WPF платформата– Препоръчва се пред алтернативния подход
(control-driven design)– Свойството FrameworkElement.DataContext
![Page 36: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/36.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Markup разширението Binding– Служи за обвързване на свойство на
контролата с данни от контекста– Възможно е да се укаже сложен път до
свойството, съдържащо търсените данни– Възможно е обвързването да бъде
еднопосочно или двупосочно– Възможно е да се укаже тип на обект, служещ
за преобразуване на данните
![Page 37: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/37.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Какво е Model-View-ViewModel (MVVM)?– Архитектура, при която програмата е
разделена на три части със строго определена роля
– Models – това са класове, които служат за вътрешно съхранение на данни, но не описват функционалност
– Views – това са контроли/прозорци, които описват потребителския интерфейс на приложението, но не служат за съхранение на данни ине описват функционалност
– View Models – това са класове, които описват функционалността на приложението и служат за посредници между моделите и изгледите
![Page 38: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/38.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Защо MVVM?– Трислойна архитектура– Изолира всеки от слоевете от промени в
реализацията на останалите– Позволява реализирането на много изгледи за
едни и същи данни (дори и едновременното обвързване на няколко изгледа с един и същи абстрактен обект в паметта)
![Page 39: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/39.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Въпроси?
![Page 40: Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation](https://reader036.vdocuments.net/reader036/viewer/2022062405/557a9d9ed8b42aa0568b4d69/html5/thumbnails/40.jpg)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Благодаря!
• Александър Далемски– [email protected]– [email protected]– Skype: musasho– https://www.facebook.com/adalemski
• ДАВИД академия– [email protected]– http://acad.david.bg/– @david_academy– https://www.facebook.com/groups/david.academy/