Курс по информационни технологии
DESCRIPTION
Курс по информационни технологии. Занятие № 1 Desktop приложения. Windows Forms. Windows Presentation Foundation. Съдържание 1/ 1. Desktop приложения Windows Forms Windows Presentation Foundation. Desktop приложения. С какво се характеризират desktop приложенията? - PowerPoint PPT PresentationTRANSCRIPT
2013Copyright © 2013 DAVID Holding Company
Курс по информационни
технологииЗанятие №1Desktop приложения. Windows
Forms.Windows Presentation Foundation
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Съдържание 1/1
• Desktop приложения• Windows Forms• Windows Presentation Foundation
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• С какво се характеризират desktop приложенията?– Графичен потребителски интерфейс (GUI)– Прозорци (форми)– Контроли– Събития и обработчици– Самостоятелни процеси (за разлика от уеб
приложенията)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Прозорци– Видима област– Заглавна лента– Системни бутони– Фиксиран/променлив размер– Главен прозорец
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Контроли– Визуални компоненти– Контейнери– Йерархия от контроли– Потребителски контроли
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Събития– Предизвикват се в определен момент от
изпълнение на програмата или в отговор на външно явление
– Могат да бъдат улавяни чрез обработчици, създадени от програмиста
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Съобщения– Опашка за съобщения– Цикъл за обработка на съобщения– Обработката е линейна (синхронна)– Нишка за потребителския интерфейс– Съобщенията обикновено предизвикват
събития– Програмно изпращане на съобщения
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Desktop приложения
• Модални диалози– Прозорци– Ограничават достъпа до останалите прозорци– Резултат от диалога
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Какво е Windows Forms?– Част от .NET Framework– Платформа за managed desktop приложения– Обвивка и надграждане на Win32 API
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Използване на Windows Forms– Windows Forms Application проект– Пространство от имена System.Windows.Forms
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Прозорци (форми)– Базов клас Form– Windows Form файлов шаблон– Главна форма– Метод Show()
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на формите– Size– Text– StartPosition– FormBorderStyle– MinimizeBox, MaximizeBox– ShowInTaskbar– ShowIcon– AcceptButton, CancelButton
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контроли– ListView– TreeView– MonthCalendar– DateTimePicker– RichTextBox– WebBrowser
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на контролите– Parent– Size– Location– Margin– Dock– Anchor– Text– Enabled– Visible
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Често използвани свойства на контролите– ForeColor– BackColor– Font– TabIndex– Tag
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Контейнери– Panel– GroupBox– FlowLayoutPanel– SplitContainer– TabControl– TableLayoutPanel
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Събития– Обикновени събития в .NET– Всяка контрола предоставя събития,
съответсващи на предназначението ѝ– Обработчици – делегати– Закачане на обработчици през визуалния
редактор
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Модални диалози– Методът ShowDialog()– Изброеният тип DialogResult– Свойството Form.DialogResult– Свойството Button.DialogResult
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Data binding– Пряко обвързване между свойства на
контроли и вътрешни обекти с данни– Предотвратява описването на излишен
програмен код– Улеснява поддръжката– Не е приложимо в пълна степен в Windows
Forms
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Forms
• Data binding – автоматично зареждане на списъци в списъчни контроли– Поддържа се от ListBox и ComboBox– Свойството DataSource – обект, който
имплементира IList или IListSource– Свойството DisplayMember– Свойството ValueMember– Свойството SelectedValue
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)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Какво е XAML?– eXtensible Application Markup Language– Базиран на XML– Служи за деклариране на потребителски
интерфейс– Използва се в WPF, Silverlight и WinRT– Visual Studio предоставя удобен визуален
редактор за XAML
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Защо XAML?– Разделя се външният вид на приложението от
поведението му– Много варианти за потребителски интерфейс
за еднакво поведение– Възможност интерфейсът да се проектира от
дизайнер, а функционалността – от програмист
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Използване на WPF– WPF Application проект– Пространство от имена System.Windows– .xaml и .xaml.cs файлове
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Прозорци– Базов клас Window– Коренов елемент Window– Window (WPF) файлов шаблон– Главен прозорец – свойството Application.MainWindow
– Метод Show()
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на прозорците– Width, Height– Title– WindowStartupLocation– Top, Left– WindowStyle– ResizeMode– ShowInTaskbar– Icon
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контроли– Border– ListView– TreeView– Calendar– DatePicker– RichTextBox– WebBrowser
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на контролите– Parent– Width, Height– HorizontalAlignment, VerticalAlignment– Content– Items– HorizontalContentAlignment, VerticalContentAlignment
– Margin– IsEnabled– Visibility
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Често използвани свойства на контролите– Foreground– Background– FontFamily, FontSize– TabIndex– Tag
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Контейнери– Canvas– GroupBox– StackPanel– TabControl– UniformGrid– Grid
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Събития– Маршрутизирани събития– Стратегия за маршрутизиране:
• Отгоре надолу (tunneling)• Отдолу нагоре (bubbling)• Директно (direct) – аналогично с обикновените
събития в .NET
– Двойки tunneling и bubbling събития
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Модални диалози– Методът ShowDialog()– Свойството Window.DialogResult
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Data binding в WPF– Широко приложим подход– Data binding е една от основните цели при
проектирането на WPF платформата– Препоръчва се пред алтернативния подход
(control-driven design)– Свойството FrameworkElement.DataContext
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Markup разширението Binding– Служи за обвързване на свойство на
контролата с данни от контекста– Възможно е да се укаже сложен път до
свойството, съдържащо търсените данни– Възможно е обвързването да бъде
еднопосочно или двупосочно– Възможно е да се укаже тип на обект, служещ
за преобразуване на данните
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Какво е Model-View-ViewModel (MVVM)?– Архитектура, при която програмата е
разделена на три части със строго определена роля
– Models – това са класове, които служат за вътрешно съхранение на данни, но не описват функционалност
– Views – това са контроли/прозорци, които описват потребителския интерфейс на приложението, но не служат за съхранение на данни ине описват функционалност
– View Models – това са класове, които описват функционалността на приложението и служат за посредници между моделите и изгледите
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Windows Presentation Foundation• Защо MVVM?– Трислойна архитектура– Изолира всеки от слоевете от промени в
реализацията на останалите– Позволява реализирането на много изгледи за
едни и същи данни (дори и едновременното обвързване на няколко изгледа с един и същи абстрактен обект в паметта)
Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company
Въпроси?
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/