Курс по информационни технологии

40
2013 Copyright © 2013 DAVID Holding Company Курс по информационни технологии Занятие №1 Desktop приложения. Windows Forms. Windows Presentation Foundation

Upload: kirk

Post on 15-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Курс по информационни технологии. Занятие № 1 Desktop приложения. Windows Forms. Windows Presentation Foundation. Съдържание 1/ 1. Desktop приложения Windows Forms Windows Presentation Foundation. Desktop приложения. С какво се характеризират desktop приложенията? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Курс по информационни технологии

2013Copyright © 2013 DAVID Holding Company

Курс по информационни

технологииЗанятие №1Desktop приложения. Windows

Forms.Windows Presentation Foundation

Page 2: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Съдържание 1/1

• Desktop приложения• Windows Forms• Windows Presentation Foundation

Page 3: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• С какво се характеризират desktop приложенията?– Графичен потребителски интерфейс (GUI)– Прозорци (форми)– Контроли– Събития и обработчици– Самостоятелни процеси (за разлика от уеб

приложенията)

Page 4: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• Прозорци– Видима област– Заглавна лента– Системни бутони– Фиксиран/променлив размер– Главен прозорец

Page 5: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• Контроли– Визуални компоненти– Контейнери– Йерархия от контроли– Потребителски контроли

Page 6: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• Събития– Предизвикват се в определен момент от

изпълнение на програмата или в отговор на външно явление

– Могат да бъдат улавяни чрез обработчици, създадени от програмиста

Page 7: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• Съобщения– Опашка за съобщения– Цикъл за обработка на съобщения– Обработката е линейна (синхронна)– Нишка за потребителския интерфейс– Съобщенията обикновено предизвикват

събития– Програмно изпращане на съобщения

Page 8: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Desktop приложения

• Модални диалози– Прозорци– Ограничават достъпа до останалите прозорци– Резултат от диалога

Page 9: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Какво е Windows Forms?– Част от .NET Framework– Платформа за managed desktop приложения– Обвивка и надграждане на Win32 API

Page 10: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Използване на Windows Forms– Windows Forms Application проект– Пространство от имена System.Windows.Forms

Page 11: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Прозорци (форми)– Базов клас Form– Windows Form файлов шаблон– Главна форма– Метод Show()

Page 12: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Често използвани свойства на формите– Size– Text– StartPosition– FormBorderStyle– MinimizeBox, MaximizeBox– ShowInTaskbar– ShowIcon– AcceptButton, CancelButton

Page 13: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button

Page 14: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Контроли– ListView– TreeView– MonthCalendar– DateTimePicker– RichTextBox– WebBrowser

Page 15: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Често използвани свойства на контролите– Parent– Size– Location– Margin– Dock– Anchor– Text– Enabled– Visible

Page 16: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Често използвани свойства на контролите– ForeColor– BackColor– Font– TabIndex– Tag

Page 17: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Контейнери– Panel– GroupBox– FlowLayoutPanel– SplitContainer– TabControl– TableLayoutPanel

Page 18: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Събития– Обикновени събития в .NET– Всяка контрола предоставя събития,

съответсващи на предназначението ѝ– Обработчици – делегати– Закачане на обработчици през визуалния

редактор

Page 19: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Модални диалози– Методът ShowDialog()– Изброеният тип DialogResult– Свойството Form.DialogResult– Свойството Button.DialogResult

Page 20: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Data binding– Пряко обвързване между свойства на

контроли и вътрешни обекти с данни– Предотвратява описването на излишен

програмен код– Улеснява поддръжката– Не е приложимо в пълна степен в Windows

Forms

Page 21: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Forms

• Data binding – автоматично зареждане на списъци в списъчни контроли– Поддържа се от ListBox и ComboBox– Свойството DataSource – обект, който

имплементира IList или IListSource– Свойството DisplayMember– Свойството ValueMember– Свойството SelectedValue

Page 22: Курс по информационни технологии

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: Курс по информационни технологии

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: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Защо XAML?– Разделя се външният вид на приложението от

поведението му– Много варианти за потребителски интерфейс

за еднакво поведение– Възможност интерфейсът да се проектира от

дизайнер, а функционалността – от програмист

Page 25: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Използване на WPF– WPF Application проект– Пространство от имена System.Windows– .xaml и .xaml.cs файлове

Page 26: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Прозорци– Базов клас Window– Коренов елемент Window– Window (WPF) файлов шаблон– Главен прозорец – свойството Application.MainWindow

– Метод Show()

Page 27: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Често използвани свойства на прозорците– Width, Height– Title– WindowStartupLocation– Top, Left– WindowStyle– ResizeMode– ShowInTaskbar– Icon

Page 28: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Контроли– Базов клас Control– Label– TextBox– ListBox– ComboBox– CheckBox– RadioButton– Button

Page 29: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Контроли– Border– ListView– TreeView– Calendar– DatePicker– RichTextBox– WebBrowser

Page 30: Курс по информационни технологии

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: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Често използвани свойства на контролите– Foreground– Background– FontFamily, FontSize– TabIndex– Tag

Page 32: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Контейнери– Canvas– GroupBox– StackPanel– TabControl– UniformGrid– Grid

Page 33: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Събития– Маршрутизирани събития– Стратегия за маршрутизиране:

• Отгоре надолу (tunneling)• Отдолу нагоре (bubbling)• Директно (direct) – аналогично с обикновените

събития в .NET

– Двойки tunneling и bubbling събития

Page 34: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Модални диалози– Методът ShowDialog()– Свойството Window.DialogResult

Page 35: Курс по информационни технологии

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: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Markup разширението Binding– Служи за обвързване на свойство на

контролата с данни от контекста– Възможно е да се укаже сложен път до

свойството, съдържащо търсените данни– Възможно е обвързването да бъде

еднопосочно или двупосочно– Възможно е да се укаже тип на обект, служещ

за преобразуване на данните

Page 37: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Какво е Model-View-ViewModel (MVVM)?– Архитектура, при която програмата е

разделена на три части със строго определена роля

– Models – това са класове, които служат за вътрешно съхранение на данни, но не описват функционалност

– Views – това са контроли/прозорци, които описват потребителския интерфейс на приложението, но не служат за съхранение на данни ине описват функционалност

– View Models – това са класове, които описват функционалността на приложението и служат за посредници между моделите и изгледите

Page 38: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Windows Presentation Foundation• Защо MVVM?– Трислойна архитектура– Изолира всеки от слоевете от промени в

реализацията на останалите– Позволява реализирането на много изгледи за

едни и същи данни (дори и едновременното обвързване на няколко изгледа с един и същи абстрактен обект в паметта)

Page 39: Курс по информационни технологии

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Въпроси?

Page 40: Курс по информационни технологии

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/