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

Post on 15-Jan-2016

52 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Благодаря!

• Александър Далемски– sasho@david.bg– musashi.bg@gmail.com– Skype: musasho– https://www.facebook.com/adalemski

• ДАВИД академия– acad@david.bg– http://acad.david.bg/– @david_academy– https://www.facebook.com/groups/david.academy/

top related