SlideShare una empresa de Scribd logo
1 de 40
Курс по информационни
технологии
Занятие №1

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

2013
Съдържание 1/1
• Desktop приложения
• Windows Forms
• Windows Presentation Foundation
Desktop приложения
• С какво се характеризират desktop
приложенията?
–
–
–
–
–

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

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

Визуални компоненти
Контейнери
Йерархия от контроли
Потребителски контроли
Desktop приложения
• Събития
– Предизвикват се в определен момент от изпълнение
на програмата или в отговор на външно явление
– Могат да бъдат улавяни чрез обработчици, създадени
от програмиста
Desktop приложения
• Съобщения
–
–
–
–
–
–

Опашка за съобщения
Цикъл за обработка на съобщения
Обработката е линейна (синхронна)
Нишка за потребителския интерфейс
Съобщенията обикновено предизвикват събития
Програмно изпращане на съобщения
Desktop приложения
• Модални диалози
– Прозорци
– Ограничават достъпа до останалите прозорци
– Резултат от диалога
Windows Forms
• Какво е Windows Forms?
– Част от .NET Framework
– Платформа за managed desktop приложения
– Обвивка и надграждане на Win32 API
Windows Forms
• Използване на Windows Forms
– Windows Forms Application проект
– Пространство от имена System.Windows.Forms
Windows Forms
• Прозорци (форми)
–
–
–
–

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

Size
Text
StartPosition
FormBorderStyle
MinimizeBox, MaximizeBox
ShowInTaskbar
ShowIcon
AcceptButton, CancelButton
Windows Forms
• Контроли
–
–
–
–
–
–
–
–

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

ListView
TreeView
MonthCalendar
DateTimePicker
RichTextBox
WebBrowser
Windows Forms
• Често използвани свойства на контролите
–
–
–
–
–
–
–
–
–

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

ForeColor
BackColor
Font
TabIndex
Tag
Windows Forms
• Контейнери
–
–
–
–
–
–

Panel
GroupBox
FlowLayoutPanel
SplitContainer
TabControl
TableLayoutPanel
Windows Forms
• Събития
– Обикновени събития в .NET
– Всяка контрола предоставя събития, съответсващи на
предназначението ѝ
– Обработчици – делегати
– Закачане на обработчици през визуалния редактор
Windows Forms
• Модални диалози
–
–
–
–

Методът ShowDialog()
Изброеният тип DialogResult
Свойството Form.DialogResult
Свойството Button.DialogResult
Windows Forms
• Data binding
– Пряко обвързване между свойства на контроли и
вътрешни обекти с данни
– Предотвратява описването на излишен програмен код
– Улеснява поддръжката
– Не е приложимо в пълна степен в Windows Forms
Windows Forms
• Data binding – автоматично зареждане на
списъци в списъчни контроли
– Поддържа се от ListBox и ComboBox
– Свойството DataSource – обект, който имплементира
IList или IListSource
– Свойството DisplayMember
– Свойството ValueMember
– Свойството SelectedValue
Windows Presentation Foundation
• Какво е Windows Presentation Foundation (WPF)?
–
–
–
–
–

Част от .NET Framework (от версия 3.0 насам)
Платформа за managed desktop приложения
Базирана на DirectX, а не на Win32
Позволява разработката на Rich User Interface
Разделя форматирането на интерфейса от
поведението на програмата (XAML и code-behind)
Windows Presentation Foundation
• Какво е XAML?
–
–
–
–
–

eXtensible Application Markup Language
Базиран на XML
Служи за деклариране на потребителски интерфейс
Използва се в WPF, Silverlight и WinRT
Visual Studio предоставя удобен визуален редактор за
XAML
Windows Presentation Foundation
• Защо XAML?
– Разделя се външният вид на приложението от
поведението му
– Много варианти за потребителски интерфейс за
еднакво поведение
– Възможност интерфейсът да се проектира от
дизайнер, а функционалността – от програмист
Windows Presentation Foundation
• Използване на WPF
– WPF Application проект
– Пространство от имена System.Windows
– .xaml и .xaml.cs файлове
Windows Presentation Foundation
• Прозорци
Базов клас Window
Коренов елемент Window
Window (WPF) файлов шаблон
Главен прозорец – свойството
Application.MainWindow
– Метод Show()
–
–
–
–
Windows Presentation Foundation
• Често използвани свойства на прозорците
–
–
–
–
–
–
–
–

Width, Height
Title
WindowStartupLocation
Top, Left
WindowStyle
ResizeMode
ShowInTaskbar
Icon
Windows Presentation Foundation
• Контроли
–
–
–
–
–
–
–
–

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

Border
ListView
TreeView
Calendar
DatePicker
RichTextBox
WebBrowser
Windows Presentation Foundation
• Често използвани свойства на контролите
–
–
–
–
–
–

Parent
Width, Height
HorizontalAlignment, VerticalAlignment
Content
Items
HorizontalContentAlignment,
VerticalContentAlignment
– Margin
– IsEnabled
– Visibility
Windows Presentation Foundation
• Често използвани свойства на контролите
–
–
–
–
–

Foreground
Background
FontFamily, FontSize
TabIndex
Tag
Windows Presentation Foundation
• Контейнери
–
–
–
–
–
–

Canvas
GroupBox
StackPanel
TabControl
UniformGrid
Grid
Windows Presentation Foundation
• Събития
– Маршрутизирани събития
– Стратегия за маршрутизиране:
• Отгоре надолу (tunneling)
• Отдолу нагоре (bubbling)
• Директно (direct) – аналогично с обикновените събития в .NET

– Двойки tunneling и bubbling събития
Windows Presentation Foundation
• Модални диалози
– Методът ShowDialog()
– Свойството Window.DialogResult
Windows Presentation Foundation
• Data binding в WPF
– Широко приложим подход
– Data binding е една от основните цели при
проектирането на WPF платформата
– Препоръчва се пред алтернативния подход (controldriven design)
– Свойството FrameworkElement.DataContext
Windows Presentation Foundation
• Markup разширението Binding
– Служи за обвързване на свойство на контролата с
данни от контекста
– Възможно е да се укаже сложен път до
свойството, съдържащо търсените данни
– Възможно е обвързването да бъде еднопосочно или
двупосочно
– Възможно е да се укаже тип на обект, служещ за
преобразуване на данните
Windows Presentation Foundation
• Какво е Model-View-ViewModel (MVVM)?
– Архитектура, при която програмата е разделена на
три части със строго определена роля
– Models – това са класове, които служат за вътрешно
съхранение на данни, но не описват функционалност
– Views – това са контроли/прозорци, които описват
потребителския интерфейс на приложението, но не
служат за съхранение на данни ине описват
функционалност
– View Models – това са класове, които описват
функционалността на приложението и служат за
посредници между моделите и изгледите
Windows Presentation Foundation
• Защо MVVM?
– Трислойна архитектура
– Изолира всеки от слоевете от промени в
реализацията на останалите
– Позволява реализирането на много изгледи за едни и
същи данни (дори и едновременното обвързване на
няколко изгледа с един и същи абстрактен обект в
паметта)
Въпроси?
Благодаря!
• Александър Далемски
–
–
–
–

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/

Más contenido relacionado

La actualidad más candente

Училищен курс по програмиране на C# (2013/2014), занятие №8
Училищен курс по програмиране на C# (2013/2014), занятие №8Училищен курс по програмиране на C# (2013/2014), занятие №8
Училищен курс по програмиране на C# (2013/2014), занятие №8DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10DAVID Academy
 
Курс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSКурс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSDAVID Academy
 
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14DAVID Academy
 
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4DAVID Academy
 
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)DAVID Academy
 
Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitBisser Todorov
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroSvetlin Nakov
 
BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovSvetlin Nakov
 
Svetlin Nakov - .NET Framework Overview
Svetlin Nakov - .NET Framework OverviewSvetlin Nakov - .NET Framework Overview
Svetlin Nakov - .NET Framework OverviewSvetlin Nakov
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...DAVID Academy
 

La actualidad más candente (16)

Училищен курс по програмиране на C# (2013/2014), занятие №8
Училищен курс по програмиране на C# (2013/2014), занятие №8Училищен курс по програмиране на C# (2013/2014), занятие №8
Училищен курс по програмиране на C# (2013/2014), занятие №8
 
Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10Училищен курс по програмиране на C# (2013/2014), занятие №10
Училищен курс по програмиране на C# (2013/2014), занятие №10
 
Курс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSКурс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSS
 
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
 
Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14
 
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
 
Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9
 
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4
 
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
 
Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnit
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George Penkov
 
Svetlin Nakov - .NET Framework Overview
Svetlin Nakov - .NET Framework OverviewSvetlin Nakov - .NET Framework Overview
Svetlin Nakov - .NET Framework Overview
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
 
Въведение в Perl
Въведение в PerlВъведение в Perl
Въведение в Perl
 

Destacado

Информационни технологи за V клас, изд. Булвест 2000
Информационни технологи за V клас, изд. Булвест 2000Информационни технологи за V клас, изд. Булвест 2000
Информационни технологи за V клас, изд. Булвест 2000Ангел Ангелов
 
Курс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSКурс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSDAVID Academy
 
Помагало по география за 6 клас
Помагало по география за 6 класПомагало по география за 6 клас
Помагало по география за 6 класDani Hranov
 
Годишно обобщение по география и икономика - 5 клас
Годишно обобщение по география и икономика - 5 класГодишно обобщение по география и икономика - 5 клас
Годишно обобщение по география и икономика - 5 класMilena Petkova
 
Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3DAVID Academy
 
събиране на десетични дроби. свойства
събиране на десетични дроби. свойствасъбиране на десетични дроби. свойства
събиране на десетични дроби. свойстваliageorg
 
деление на дд задачи
деление на дд задачиделение на дд задачи
деление на дд задачиliageorg
 
събиране и изваждане на дд
събиране и изваждане на ддсъбиране и изваждане на дд
събиране и изваждане на ддliageorg
 
Училищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияУчилищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияDAVID Academy
 
четене и сравняване на десетични дроби
четене и сравняване на десетични дробичетене и сравняване на десетични дроби
четене и сравняване на десетични дробиliageorg
 
всички действия с дд
всички действия с ддвсички действия с дд
всички действия с ддliageorg
 
умножение на десетични дроби
умножение на десетични дробиумножение на десетични дроби
умножение на десетични дробиliageorg
 
фигури
фигурифигури
фигуриliageorg
 
5 клас урок 19 НОВА ПРОГРАМА
5 клас урок 19 НОВА ПРОГРАМА5 клас урок 19 НОВА ПРОГРАМА
5 клас урок 19 НОВА ПРОГРАМАЮлія Артюх
 
Програмирането със C sharp
Програмирането със C sharpПрограмирането със C sharp
Програмирането със C sharpJulian Sapoundjiev
 

Destacado (18)

Лице
ЛицеЛице
Лице
 
OOP 1 - 5
OOP 1 - 5OOP 1 - 5
OOP 1 - 5
 
История на лакомствата1
История на лакомствата1История на лакомствата1
История на лакомствата1
 
Информационни технологи за V клас, изд. Булвест 2000
Информационни технологи за V клас, изд. Булвест 2000Информационни технологи за V клас, изд. Булвест 2000
Информационни технологи за V клас, изд. Булвест 2000
 
Курс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSКурс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSS
 
Помагало по география за 6 клас
Помагало по география за 6 класПомагало по география за 6 клас
Помагало по география за 6 клас
 
Годишно обобщение по география и икономика - 5 клас
Годишно обобщение по география и икономика - 5 класГодишно обобщение по география и икономика - 5 клас
Годишно обобщение по география и икономика - 5 клас
 
Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3
 
събиране на десетични дроби. свойства
събиране на десетични дроби. свойствасъбиране на десетични дроби. свойства
събиране на десетични дроби. свойства
 
деление на дд задачи
деление на дд задачиделение на дд задачи
деление на дд задачи
 
събиране и изваждане на дд
събиране и изваждане на ддсъбиране и изваждане на дд
събиране и изваждане на дд
 
Училищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияУчилищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - Упражнения
 
четене и сравняване на десетични дроби
четене и сравняване на десетични дробичетене и сравняване на десетични дроби
четене и сравняване на десетични дроби
 
всички действия с дд
всички действия с ддвсички действия с дд
всички действия с дд
 
умножение на десетични дроби
умножение на десетични дробиумножение на десетични дроби
умножение на десетични дроби
 
фигури
фигурифигури
фигури
 
5 клас урок 19 НОВА ПРОГРАМА
5 клас урок 19 НОВА ПРОГРАМА5 клас урок 19 НОВА ПРОГРАМА
5 клас урок 19 НОВА ПРОГРАМА
 
Програмирането със C sharp
Програмирането със C sharpПрограмирането със C sharp
Програмирането със C sharp
 

Similar a Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation

Nakov - .NET Framework Overview + Security
Nakov - .NET Framework Overview +  SecurityNakov - .NET Framework Overview +  Security
Nakov - .NET Framework Overview + SecuritySvetlin Nakov
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsDAVID Academy
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsDAVID Academy
 
FABRIQ - Presentation Nakov 0.8
FABRIQ - Presentation Nakov 0.8FABRIQ - Presentation Nakov 0.8
FABRIQ - Presentation Nakov 0.8Svetlin Nakov
 
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Yosifov
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovSvetlin Nakov
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code IntroductionSvetlin Nakov
 
Nakov High Quality Code
Nakov High Quality CodeNakov High Quality Code
Nakov High Quality CodeSvetlin Nakov
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияmartin.ivanov
 
Lotus Everywhere: LCTY2011
Lotus Everywhere: LCTY2011Lotus Everywhere: LCTY2011
Lotus Everywhere: LCTY2011IBS Bulgaria
 
технически университет софия (Presentation Mostrov)
технически университет    софия (Presentation Mostrov)технически университет    софия (Presentation Mostrov)
технически университет софия (Presentation Mostrov)guest732d743
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)Stoycho
 
Silverlight
SilverlightSilverlight
SilverlightStoycho
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)guest732d743
 

Similar a Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation (20)

Nakov - .NET Framework Overview + Security
Nakov - .NET Framework Overview +  SecurityNakov - .NET Framework Overview +  Security
Nakov - .NET Framework Overview + Security
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
 
Module1
Module1Module1
Module1
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
 
FABRIQ - Presentation Nakov 0.8
FABRIQ - Presentation Nakov 0.8FABRIQ - Presentation Nakov 0.8
FABRIQ - Presentation Nakov 0.8
 
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD Academy
 
Създаване на приложения за Windows Phone
Създаване на приложения за Windows PhoneСъздаване на приложения за Windows Phone
Създаване на приложения за Windows Phone
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin Nakov
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code Introduction
 
Nakov High Quality Code
Nakov High Quality CodeNakov High Quality Code
Nakov High Quality Code
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализация
 
Soft eng.
Soft eng.Soft eng.
Soft eng.
 
Lotus Everywhere: LCTY2011
Lotus Everywhere: LCTY2011Lotus Everywhere: LCTY2011
Lotus Everywhere: LCTY2011
 
технически университет софия (Presentation Mostrov)
технически университет    софия (Presentation Mostrov)технически университет    софия (Presentation Mostrov)
технически университет софия (Presentation Mostrov)
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)
 
Silverlight
SilverlightSilverlight
Silverlight
 
Silverlight-BG
Silverlight-BGSilverlight-BG
Silverlight-BG
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)
 
Programirane i organizaciq
Programirane i organizaciqProgramirane i organizaciq
Programirane i organizaciq
 

Más de DAVID Academy

Курс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLКурс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLDAVID Academy
 
Училищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоУчилищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоDAVID Academy
 
Курс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesКурс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesDAVID Academy
 
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkКурс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkDAVID Academy
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLDAVID Academy
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...DAVID Academy
 
Курс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеКурс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеDAVID Academy
 
Курс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоКурс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоDAVID Academy
 
Курс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияКурс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияDAVID Academy
 
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииКурс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииDAVID Academy
 
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...DAVID Academy
 

Más de DAVID Academy (11)

Курс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLКурс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTML
 
Училищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоУчилищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - Помагало
 
Курс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesКурс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web Services
 
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkКурс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
 
Курс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеКурс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. Представяне
 
Курс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоКурс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - Помагало
 
Курс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияКурс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - Упражнения
 
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииКурс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
 
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
 

Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Forms. Windows Presentation Foundation

  • 1. Курс по информационни технологии Занятие №1 Desktop приложения. Windows Forms. Windows Presentation Foundation 2013
  • 2. Съдържание 1/1 • Desktop приложения • Windows Forms • Windows Presentation Foundation
  • 3. Desktop приложения • С какво се характеризират desktop приложенията? – – – – – Графичен потребителски интерфейс (GUI) Прозорци (форми) Контроли Събития и обработчици Самостоятелни процеси (за разлика от уеб приложенията)
  • 4. Desktop приложения • Прозорци – – – – – Видима област Заглавна лента Системни бутони Фиксиран/променлив размер Главен прозорец
  • 5. Desktop приложения • Контроли – – – – Визуални компоненти Контейнери Йерархия от контроли Потребителски контроли
  • 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
  • 13. Windows Forms • Контроли – – – – – – – – Базов клас Control Label TextBox ListBox ComboBox CheckBox RadioButton Button
  • 15. Windows Forms • Често използвани свойства на контролите – – – – – – – – – Parent Size Location Margin Dock Anchor Text Enabled Visible
  • 16. Windows Forms • Често използвани свойства на контролите – – – – – ForeColor BackColor Font TabIndex Tag
  • 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
  • 29. Windows Presentation Foundation • Контроли – – – – – – – Border ListView TreeView Calendar DatePicker RichTextBox WebBrowser
  • 30. Windows Presentation Foundation • Често използвани свойства на контролите – – – – – – Parent Width, Height HorizontalAlignment, VerticalAlignment Content Items HorizontalContentAlignment, VerticalContentAlignment – Margin – IsEnabled – Visibility
  • 31. Windows Presentation Foundation • Често използвани свойства на контролите – – – – – Foreground Background FontFamily, FontSize TabIndex Tag
  • 32. Windows Presentation Foundation • Контейнери – – – – – – Canvas GroupBox StackPanel TabControl UniformGrid Grid
  • 33. Windows Presentation Foundation • Събития – Маршрутизирани събития – Стратегия за маршрутизиране: • Отгоре надолу (tunneling) • Отдолу нагоре (bubbling) • Директно (direct) – аналогично с обикновените събития в .NET – Двойки tunneling и bubbling събития
  • 34. Windows Presentation Foundation • Модални диалози – Методът ShowDialog() – Свойството Window.DialogResult
  • 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? – Трислойна архитектура – Изолира всеки от слоевете от промени в реализацията на останалите – Позволява реализирането на много изгледи за едни и същи данни (дори и едновременното обвързване на няколко изгледа с един и същи абстрактен обект в паметта)
  • 40. Благодаря! • Александър Далемски – – – – 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/