400 likes | 551 Views
Курс по информационни технологии. Занятие № 1 Desktop приложения. Windows Forms. Windows Presentation Foundation. Съдържание 1/ 1. Desktop приложения Windows Forms Windows Presentation Foundation. Desktop приложения. С какво се характеризират desktop приложенията?
E N D
Курс по информационни технологии Занятие №1Desktop приложения. Windows Forms. Windows Presentation Foundation
Съдържание 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 платформата • Препоръчва се пред алтернативния подход (control-driven 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/