Programování v jazyku C# II.

Slides:



Advertisements
Podobné prezentace
Podpora personálních procesů v HR Vema Jaroslav Šmarda
Advertisements

© 2000 VEMA počítače a projektování spol. s r. o..
Web Michal Žůrek Jak se na něj dívám já..
Zoner Foto Studio Bohumil Bareš.
© 2000 VEMA počítače a projektování spol. s r. o..
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
AJAX fenomén současného internetu Dalibor Kačmář Academic Developer Evangelist Microsoft ČR host Vítek Karas Senior Software Development Engineer Microsoft.
Vizuální Systém Fotbal
Windows Presentation Foundation Animace. Animace Proč? Silnější dojem z aplikací Vytváří přirozenější UI Plynulejší visuální přechody Animace kdekoli.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Softwarový systém DYNAST
C# pro začátečníky Mgr. Jaromír Osčádal
Windows Presentation Foundation Přehled Přednášek
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Michal Neuwirth Partner Technical Readiness Microsoft s.r.o.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Úvod do databází Databáze.
Architektura systému Windows
Tvorba webových aplikací
pit – CAD 2011 Nové funkce a rozšíření Strana: 1www.pitsoftware.cz /
NET Genium software pro výstavbu a provoz informačního portálu Martin Vonka
OS Windows. Tento operační systém byl vytvořen pro snazší ovládání počítače běžnými uživateli. Například stačí jednou definovat připojená zařízení (tiskárny…)
VY_32_INOVACE_48_OS_Windows_7_II. Autor : Trýzna Stanislav Školní rok : 2011/2012 Určeno pro : šestý ročník Předmět: informatika Téma : základní orientace.
Vývoj aplikací pro SharePoint
PHP – Základy programování
Software Architect Forum 2006 Trendy ve vývoji aplikací Michael Juřek, Dalibor Kačmář Microsoft s.r.o.
Konference SI Praha Ladislav Přívozník is:energy czech a.s.
C# - prvky UI – vlastnosti a události Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Celní služby 2000 Radek Sedláček TranSoft a.s Radek Sedláček TranSoft a.s
Windows Presentation Foundation 2D grafika. 2D tvary Elementy UI stromu Stejné jako jiné ovládací prvky a elementy Mohou mít k sobě připojeny události,
Návrh a tvorba WWW Cvičení 4
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
Dalibor Kačmář Developer & Platform Evangelist Group
Proč se uživatelská přívětivost nestala součástí software?
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.1 Lucián Piller Intranet HR.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Windows Presentation Foundation
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
Databázové modelování
2 Fučíková Sylvie HR/Win – moderní technologie pro osvědčené aplikace.
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
OPERAČNÍ SYSTÉMY.
Windows Presentation Foundation Ovládací prvky. Ovládací prvky Všechny standardní prvky jsou dostupné a některé nové Třídy jsou společné pro WPF System.Windows.Controls,
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
doc. RNDr. Zdeněk Botek, CSc.
PHP Programy pro tvorbu WWW stránek - 01
Windows Presentation Foundation Resources. Resources Styly a všechny typy šablon bývají definovány jako resouces Opakované použití Čitelnost kódu Možnost.
Windows Presentation Foundation Layout aplikace. Layout Layout CanvasStackPanelDockPanelWrapPanelGrid.
Windows Presentation Foundation Data Binding
MICROSOFT OFFICE 2007/2010. Důvod změny Inovace technologií Nové možnosti použití Kompatibilita Ukončení tech. podpory starších verzí Office 2003 –
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Windows Presentation Foundation 3D grafika. 3D grafika Přináší 3D širší audienci vývojářů Integrace – můžeme použít 3D kdekoli ve UI Lze použít štětce.
WINDOWS Základní popis a údržba operačních systémů.
Microsoft FRONT PAGE Šablona 32 VY_32_INOVACE_19_10_Front Page.
.NET framework platforma Jiří Pokorný
NetBeans Plugin.  Echo2 web framework (Ajax, Java)  NetBeans IDE (modularita, Swing designer)  Vizuální design uživatelského rozhraní (WYSIWYG)  Drag.
Operační systém Windows
Operační systém Windows
C# WPF.
Předmět: INFORMATIKA Ročník: VII.
Výukový materiál zpracován v rámci projektu
Desktopové aplikace na .NET Core
Transkript prezentace:

Programování v jazyku C# II. 10.kapitola

Obsah Přehled WPF Architektura aplikace Layout aplikace Ovládací prvky 2/30

Proč se uživatelská přívětivost nestala součástí software? Animace Win32 Dokumenty DirectX 3D 2D Je to těžké! MFC Data Binding Ovládací prvky se styly Windows Forms Video HTML 3/30

Potřeba lépe organizovat informace Výzvy Hardwarová inovace přestihuje software Displeje s vysokým DPI Široké obrazovky s možností rotace (TabletPC) GPU roste 3x rychleji než Moorův zákon Přetížení informacemi Dokumenty, hudba, video, fotografie, atd. Potřeba lépe a chytřeji visualizovat informace 4/30

Jednotný přístup k UI, dokumentům a médiím Aplikační model Deklarativní programování - XAML Jednoduchá integrace médií Data binding Bohaté možnosti stylů a témat Hostování uvnitř prohlížeče Grafický model 2D & 3D grafika, rastrová grafika Text Video a audio Animace Model dokumentů Pevné, plovoucí a adaptivní rozložení Pokročilá typografie Řízení práv Media Integration Layer Element Services Aplikační model Model dokumentů Grafický model Composition and Rendering .NET Framework DirectX WPF Nástroje a jazyky Context: First pillar of Avalon UI, docs and media are all just one single platform now. Avalon is based on managed code, as well as DirectX (specifically Direct3D is the rendering engine). You can mix and match graphics, controls, media on a single surface, using layout, animation, styling and data binding to connect them together. 5/30

WPF komponenty Document Services User Interface Services XPS Documents Application Services Controls Databinding Packaging Services Deployment Services Layout Media Integration Layer Base Services Imaging 2D Text Audio XAML Effects 3D Video Accessibility Animation Input & Eventing Composition Engine Property System 6/30

Deklarativní tvorba aplikací WPF přináší model postavený na oddělení grafického návrhu aplikace a aplikační logiky Model známý z ASP.NET Návrh vzhledu pomocí jazyka XAML (eXtensible Application Markup Language) XAML je převeden do zdrojového kódu a přeložen do binární formy Je postaven na existenci neúplných tříd (partial class) XAML nemusí sloužit pouze k definici grafického vzhledu, ale k definici Aplikace jako celku Systémových zdrojů atd. 7/30

Deklarativní programování Návrh uživatelského rozhraní Standardním způsobem Button btn = new Button(); btn.Background = Colors.Red; btn.Content = "Tlačítko!"; this.Children.Add( btn ); Deklarativně v jazyce XAML (eXtensible Application Markup Language) <Button Background="Red">Tlačítko!</Button> 2/30

Kombinace XAML a kódu Typicky je v XAML definován vzhled, animace, vazba na datové zdroje, zachycení a zpracování některých událostí V „kódu v pozadí“ je realizována aplikační logika <Button x:Name="tlacitko" Background="Red" Click="btn_click"> Tlačítko! </Button> XAML partial class Window1 : Window { Button tlacitko; void InitializeComponent() { tlacitko = new Button(); tlacitko.Background = “Red"; tlacitko.Click += btn_click; this.AddChild(tlacitko); } }; partial class Window1 : Window { public Window1() { InitializeComponent(); } public btn_click(object sender, RoutedEventArg e) { … } }; + Kód v pozadí 9/30

Jmenné prostory v XAML kódu Kořenový element každého XAML dokumentu musí deklarovat používané jmenné prostory <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MojePrvniWPFAplikace.Window1"> <Button … /> </Window> Jmenný prostor Windows Presentation Foundation Jmenný prostor XAML C#/VB.NET jmenný prostor, v němž je založen kód v pozadí 10/30

Navigace v aplikaci WPF aplikace nabízí nový typ „explorer“ navigace Automaticky jsou generována tlačítka Zpět a Vpřed Logika a programová podpora zabudována do objektu aplikace (Application) <TextBlock> Koukni také na stránku <Hyperlink NavigateUri="Window2.xaml">Page 2</Hyperlink>. </TextBlock> <Button Click="nextPage_clicked"> Další stránka </Button> void nextPage_clicked(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("Window2.xaml", UriKind.Relative)); } 11/30

Typy aplikací Plné lokální aplikace Web Browser aplikace Instalovány na lokální počítač Přístup k systémovým zdrojům definován právy uživatele (Full Trust) Web Browser aplikace Běží v prostředí prohlížeče Využívá typické Forward-Back stránkování Omezení práv aplikace (Partial Trust) Aplikace nemůže požádat o dodatečná práva (běží nebo ne) Potřebná práva pro běh aplikace jsou definována v projektu aplikace (záložka Security – Zone & Permissions) 12/30

Srovnání typů aplikací Vlastnost Lokání aplikace Browser aplikace Běhové prostředí Lokální OS IE 7 Důvěra Plná Omezená Dostupnost Online/Offline Online Nasazení Nejlépe ClickOnce nebo MSI Nejlépe ClickOnce 13/30

Instalace ClickOnce Přirozený vývoj „bezdotykové instalace“ z .NET 1.x Založeno na HTTP protokolu pro .NET aplikace exe stažen, uložen, spuštěn ClickOnce Podporuje instalaci obou typů aplikací (plné i browser) 2 scénáře nasazení Online/offline Pouze online Odstraňuje problémy předchozí verze; nyní umí Podpora v nástrojích (VS 2005, SDK) Sledování postupu instalace Distribuce jiných souborů než assembly (data, COM, nápověda) Možnost požádat o vyšší povolení Je vyžadován digitální podpis instalace 14/30

Instalace \demo demo_1_0_0_0.application demo.application Manifest nasazení publish.htm setup.exe \demo\demo_1_0_0_0 demo. exe.manifest Aplikační manifest demo. exe.deploy *.*.deploy \demo\demo_1_0_0_0 Aplikační soubory *.*.deploy – soubory učené k nasazení, rozšířeny o přípomu .deploy z důvodu ochrany web serveru *.application - manifest nasazení, XML popis nasazení a update aplikace publish.htm – web stránka ClickOnce nasazení setup.exe - .NET FX 2.0 bootstrap + další potřebné aplikaci potřebné pro běh aplikace (např. SQL Server Express), konfigurovatelné ve VS 2005 *.exe.manifest – aplikační manifest, XML popis požadované úrovně bezpečnosti, asociace souborů k dané verze 15/30

Srovnání nasazení aplikací Vlastnost Online/ offline Online ClickOnce nasazení  Opravena novou verzí Zástupce ve Start menu Položka v Add/Remove programs Výzva k instalaci nové verze Roll-back na předchozí verzi 16/30

Layout Canvas StackPanel DockPanel WrapPanel Grid Organizace ve formě libovolné tabulky, nejpružnější řešení Bez logiky layoutu – rozmístí prvky přesně podle souřadnic, plná kontrola Umístí prvky horizontálně s možností „přepadnutí“ do dalšího řádku Umístí prvky horizontálně nebo vertikálně Alokuje celou boční stranu jednomu prvku 17/30

Text Layout TextBlock – nejjednodušší element Jednoduché formátování (font, styly, zarovnání) TextFlow – rozšiřuje layout možnosti TextBlock Odstavec Seznam Tabulka Floater Popis 18/30

Vlastní typ layoutu Existující layouty lze rozšířit o vlastní Proces vykreslení probíhá ve dvou fázích – měření a rozvržení public class DiagonalPanel : Panel { protected override Size MeasureOverride(Size dostupnaVelikost) { } Protected override Size ArrangeOverride(Size konecnaVelikost) {} } 19/30

Ovládací prvky Všechny standardní prvky jsou dostupné a některé nové Třídy jsou společné pro WPF System.Windows.Controls, ne System.Windows.Forms.Controls Vzhled plně oddělen od funkcionality a modifikovatelný prostřednictvím šablon Nevytvářet nové prvky, využít exitující logiku a definovat nový vzhled 20/30

Jak ovládací prvky fungují Prvky obsahují Commands – operace jako jsou Cut, Copy nebo Paste Properties – vlastnosti modifikující vzhled nebo chování Events – ovládací prvky vyvolávají události Metody – část funkcionality je dostupná formou metod Commands, Properties a Events dostupné v XAML Aplikační logika Data binding – vazba na datové zdroje Template – šablona definující vzhled prvku 21/30

Události WPF rozšiřuje standardní mechanismus .NET events Routed events Události jsou zpracovány v elementu samotném, ale i ve všech „nadřazených“ elementech (v tzv. logickém stromu) Události mohou Probublat – událost prochází od původce směrem nahoru ve stromu být Tunelovány – události začínají u kořene a sestupují směrem dolů k původci být Směrovány - zpracovává pouze původce události 22/30

Události pokr. WPF definuje většinu routed events v párech bublající-tunelovaný Tunelovaný začíná prefixem „Preview“ Tunelovaný proběhne jako první, hned za ním Bublající Bublání/tunelování lze zastavit private void btn_click (object sender, RoutedEventArg e) { e.Handled = true; } Některé události jsou pouze Směrovány, jiné pouze Probublány (příklady) B: GotMouseCapture, LostMouseCapture, … S: MouseEnter, MouseLeave T/B: PreviewMouseMove, MouseMove 23/30

Příkazy (Commands) Vznikají např. příkazy z menu nebo klávesovými zkratkami WPF využívá stejnou myšlenku jako u událostí – Routed Commands WPF definuje třídu RoutedCommand Instance asociována s každou položkou menu a toolbar tl. Po vyvolání je spuštěna dvojice událostí PreviewExecuteEvent a ExecuteEvent Jsou tunelovány a probublány jako události vstupu Cílem události je ten prvek, který má aktuálně fokus 24/30

Standardní příkazy a zpracování Standardní příkazy jsou rozděleny do několika tříd Mapování příkazu na metodu zpracování Třída CommandBinding propojí příkaz a metody Kolekce CommandBindings obsahuje tato propojení CommandBindings má každý grafický element (UIElement) Množinu existujících příkazů lze lehce rozšířit Třída Obsah ApplicationCommands Společné všem aplikacím (undo, open, close, print) ComponentCommands Pohyb po informacích (scrool, moveToEnd, selekce) EditCommands Práce s textem (bold, italic, zarovnání) MediaCommands Média operace, zvuk, stopy (play, pause) 25/30

Příklad zpracování příkazu public partial class Window1 : Window { public Window1 () { InitializeComponent(); CommandBinding cb = new CommandBinding(ApplicationCommands.New); cb.Execute += ZpracujNew; CommandBindings.Add(cb); } private void ZpracujNew(object sender, ExecuteEventArgs e) { … } } 26/30

Vyvolání příkazu Standardních prvky UI (menu, toolbar) Tzv. vstupní gesta MouseGesture – vyvolaná myší nebo stylusem KeyGesture – klávesové zkratky Přímo z kódu aplikace ApplicationCommands.New.Execute(cilovyElement); Spojením s elementem UI <Button Command="Copy">Kopírovat</Button> 27/30

Závěrem WPF nabízí nový model popisu uživatelského rozhraní Odráží potřeby profesionálního přístupu Možnost běhu aplikací v prohlížeči zvyšuje bezpečnost a údržbu Nová generace nasazení aplikací – ClickOnce Pružný layout aplikace Přepracované ovládací prvky s plným přizpůsobením vzhledu Rozšířený systém řízení a zpracování událostí a zpráv 28/30

Odkazy MSDN Windows Vista Developer Center http://msdn.microsoft.com/windowsvista Microsoft .NET Framework 3.0 http://msdn.microsoft.com/winfx/ Download platformy a ovládacích prvků http://msdn.microsoft.com/winfx/downloads/presentation/default.aspx Doporučení pro Windows Vista UX http://msdn.microsoft.com/windowsvista/experience 29/30

Konec 30/30