Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | kelsey-douglas |
View: | 45 times |
Download: | 0 times |
Windows Presentation Windows Presentation FoundationFoundation
1.1. Úvod a přehled WPFÚvod a přehled WPF2.2. Layout PrvkyLayout Prvky3.3. Ovládací prvkyOvládací prvky
Windows Presentation Windows Presentation FoundationFoundation
ÚvodÚvod
Potřeba lépe organizovat informacePotřeba lépe organizovat informace
VýzvyVýzvyHardwarová inovace přestihuje softwareHardwarová inovace přestihuje software
Displeje s vysokým Displeje s vysokým DPIDPI
Široké obrazovky s možností rotaceŠiroké obrazovky s možností rotace (TabletPC) (TabletPC)
GPU GPU roste roste 33xx rychleji než rychleji než MoorMoorův zákonův zákon
Přetížení informacemiPřetížení informacemiDokumenty, hudba, video, fotografie, Dokumenty, hudba, video, fotografie, atd.atd.
Potřeba lépe a chytřeji visualizovat informacePotřeba lépe a chytřeji visualizovat informace
Jednotný přístup k UI, dokumentům Jednotný přístup k UI, dokumentům a médiíma médiím
Aplikační modelAplikační modelDeklarativní programování - XAMLDeklarativní programování - XAML
Jednoduchá integrace médiíJednoduchá integrace médií
DData bindingata binding
Bohaté možnosti stylů a tématBohaté možnosti stylů a témat
Hostování uvnitř prohlížečeHostování uvnitř prohlížeče
Grafický modelGrafický model2D & 3D 2D & 3D grafika, rastrová grafikagrafika, rastrová grafika
TextText
Video Video aa audio audio
AnimaceAnimace
Model dokumentůModel dokumentůPevné, plovoucí a adaptivní rozloženíPevné, plovoucí a adaptivní rozložení
Pokročilá typografiePokročilá typografie
Řízení právŘízení práv
Media IntegrationLayer
Media IntegrationLayer
Element ServicesElement Services
Ap
lika
ční
mo
de
lA
plik
ačn
í m
od
el
Mo
de
l d
oku
me
ntů
Mo
de
l d
oku
me
ntů
Gra
fický
m
od
el
Gra
fický
m
od
el
Composition and Rendering
Composition and Rendering
.NET Framewor
k
.NET Framewor
kDirectXDirectX
WPF
Ná
stro
je a
jazy
kyN
ást
roje
a ja
zyky
WPF komponentyWPF komponenty
2D
3D
AudioImaging
TextVideoEffects
Composition Engine
Animation
XAML
Accessibility
Property System
Input & Eventing
Document Services
Packaging Services
Application Services
Deployment Services
Controls
Layout
Databinding
User Interface Services
Media Integration Layer Base Services
XPS Documents
Deklarativní tvorba aplikacíDeklarativní tvorba aplikací
WPF přináší model postavený na oddělení WPF přináší model postavený na oddělení grafického návrhu aplikace a aplikační logikygrafického návrhu aplikace a aplikační logiky
Model známý z ASP.NETModel známý z ASP.NET
Návrh vzhledu pomocí jazyka XAML (eXtensible Application Návrh vzhledu pomocí jazyka XAML (eXtensible Application Markup Language)Markup Language)
XAML je převeden do zdrojového kódu a přeložen do XAML je převeden do zdrojového kódu a přeložen do binární formybinární formy
Je postaven na existenci neúplných tříd (partial class)Je postaven na existenci neúplných tříd (partial class)
XAML nemusí sloužit pouze k definici grafického XAML nemusí sloužit pouze k definici grafického vzhledu, ale k definicivzhledu, ale k definici
Aplikace jako celkuAplikace jako celku
Systémových zdrojů atd.Systémových zdrojů atd.
Deklarativní programováníDeklarativní programování
Návrh uživatelského rozhraníNávrh uživatelského rozhraníStandardním způsobemStandardním způsobemButton btn = new Button();Button btn = new Button();
btn.Background = Colors.Red;btn.Background = Colors.Red;
btn.Content = "btn.Content = "TlačítkoTlačítko!";!";
this.Children.Add( btn );this.Children.Add( btn );
Deklarativně v jazyce XAML (eXtensible Deklarativně v jazyce XAML (eXtensible Application Markup Language)Application Markup Language)
<Button Background="Red"><Button Background="Red">TlačítkoTlačítko!</Button>!</Button>
Kombinace XAML a kóduKombinace XAML a kódu
Typicky je v XAML definován vzhled, animace, vazba na Typicky je v XAML definován vzhled, animace, vazba na datové zdroje, zachycení a zpracování některých událostídatové zdroje, zachycení a zpracování některých událostí
V „kódu v pozadí“ je realizována aplikační logikaV „kódu v pozadí“ je realizována aplikační logika
<Button x:Name="tlacitko" Background="Red" Click="btn_click"> Tlačítko! </Button>
partial class Window1 : Window { Button tlacitko;
void InitializeComponent() { tlacitko = new Button(); tlacitko.Background = “Red"; tlacitko.Click += btn_click; this.AddChild(tlacitko); }};
XAML
partial class Window1 : Window { public Window1() { InitializeComponent(); }
public btn_click(object sender, RoutedEventArg e) { … }};
+
Kód v pozadí
C#/VB.NET jmenný prostor, v němž je založen kód v pozadíJmenný prostor XAMLJmenný prostor Windows Presentation Foundation
Jmenné prostory v XAML kóduJmenné prostory v XAML kódu
Kořenový element každého XAML Kořenový element každého XAML dokumentu musí deklarovat používané dokumentu musí deklarovat používané jmenné prostoryjmenné prostory
<Window <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xamlxmlns:x="http://schemas.microsoft.com/winfx/2006/xaml""
xmlns:local="clr-namespace:MojePrvniWPFAplikace.Window1"xmlns:local="clr-namespace:MojePrvniWPFAplikace.Window1">>
<Button … /><Button … />
</Window></Window>
<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));}
Navigace v aplikaciNavigace v aplikaci
WPF aplikace nabízí nový typ „explorer“ WPF aplikace nabízí nový typ „explorer“ navigacenavigace
Automaticky jsou generovánaAutomaticky jsou generovánatlačítka Zpět a Vpředtlačítka Zpět a Vpřed
Logika a programová podporaLogika a programová podporazabudována do objektu zabudována do objektu aplikace (Application)aplikace (Application)
Typy aplikacíTypy aplikací
Plné lokální aplikacePlné lokální aplikaceInstalovány na lokální počítač Instalovány na lokální počítač
Přístup k systémovým zdrojům definován právy uživatele Přístup k systémovým zdrojům definován právy uživatele (Full Trust)(Full Trust)
Web Browser aplikaceWeb Browser aplikaceBěží v prostředí prohlížeče Běží v prostředí prohlížeče
Využívá typické Forward-Back stránkováníVyužívá typické Forward-Back stránkování
Omezení práv aplikace (Partial Trust)Omezení práv aplikace (Partial Trust)Aplikace nemůže požádat o dodatečná práva (běží nebo ne)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 Potřebná práva pro běh aplikace jsou definována v projektu aplikace (záložka Security – Zone & Permiaplikace (záložka Security – Zone & Permissssions)ions)
Srovnání typů aplikacíSrovnání typů aplikací
VlastnostVlastnost Lokání aplikaceLokání aplikace Browser aplikaceBrowser aplikace
Běhové prostředíBěhové prostředí Lokální OSLokální OS IE 7IE 7
DůvěraDůvěra PlnáPlná OmezenáOmezená
DostupnostDostupnost Online/OfflineOnline/Offline OnlineOnline
NasazeníNasazení Nejlépe ClickOnce Nejlépe ClickOnce nebo MSInebo MSI
Nejlépe ClickOnceNejlépe ClickOnce
Instalace ClickOnceInstalace ClickOncePřirozený vývoj „bezdotykové instalace“ z .NET 1.xPřirozený vývoj „bezdotykové instalace“ z .NET 1.x
Založeno na HTTP protokolu pro .NET aplikaceZaloženo na HTTP protokolu pro .NET aplikaceexe stažen, uložen, spuštěnexe stažen, uložen, spuštěn
ClickOnceClickOncePodporuje instalaci obou typů aplikací (plné i browser)Podporuje instalaci obou typů aplikací (plné i browser)2 scénáře nasazení 2 scénáře nasazení
Online/offlineOnline/offlinePouze onlinePouze online
Odstraňuje problémy předchozí verze; nyní umíOdstraňuje problémy předchozí verze; nyní umíPodpora v nástrojích (VS 2005, SDK)Podpora v nástrojích (VS 2005, SDK)Sledování postupu instalaceSledování postupu instalaceDistribuce jiných souborů než assembly (data, COM, Distribuce jiných souborů než assembly (data, COM, nápověda)nápověda)Možnost požádat o vyšší povoleníMožnost požádat o vyšší povolení
Je vyžadován digitální podpis instalaceJe vyžadován digitální podpis instalace
InstalaceInstalace\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
\demo
demo_1_0_0_0.application
demo.application
Manifest nasazení
publish.htm
setup.exe
*.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
Srovnání nasazení aplikacíSrovnání nasazení aplikací
VlastnostVlastnost Online/Online/offlineoffline OnlineOnline
ClickClickOnceOnce nasazení nasazení
Opravena novou verzíOpravena novou verzí
Zástupce ve Start menuZástupce ve Start menu
Položka v Add/Remove programsPoložka v Add/Remove programs
Výzva k instalaci nové verzeVýzva k instalaci nové verze
Roll-back na předchozí verziRoll-back na předchozí verzi
Video ukázkaVideo ukázka
Vytvoření aplikaceVytvoření aplikace
Návrh uživatelského rozhraní v XAMLNávrh uživatelského rozhraní v XAML
XAML PadXAML Pad
Nasazení aplikaceNasazení aplikace