160 likes | 356 Views
Windows Presentation Foundation. Úvod a přehled WPF Layout Prvky Ovládací prvky. Windows Presentation Foundation. Úvod. 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)
E N D
Windows Presentation Foundation Úvod a přehled WPF Layout Prvky Ovládací prvky
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 3xrychleji než Moorův zákon • Přetížení informacemi • Dokumenty, hudba, video, fotografie, atd. • Potřeba lépe a chytřeji visualizovat informace
WPF Aplikační model Model dokumentů Grafický model Nástroje a jazyky Element Services Media Integration Layer Composition and Rendering DirectX .NET Framework 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
WPF komponenty User Interface Services Document Services XPS Documents Application Services Controls Databinding Layout Deployment Services Packaging Services Media Integration Layer Base Services Imaging 2D Audio XAML Text Effects 3D Video Accessibility Animation Input & Eventing Composition Engine Property System
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.
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>
Kód v pozadí 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) { … }}; + 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 XAML <Button x:Name="tlacitko"Background="Red" Click="btn_click"> Tlačítko! </Button>
C#/VB.NET jmenný prostor, v němž je založen kód v pozadí Jmenný prostor XAML Jmenný prostor Windows Presentation Foundation 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>
Navigace v aplikaci • WPF aplikace nabízí nový typ „explorer“ navigace • Automaticky jsou generovánatlačítka Zpět a Vpřed • Logika a programová podporazabudová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)); }
Typy aplikací • Plné lokální 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)
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 Instalace ClickOnce
\demo\demo_1_0_0_0 \demo\demo_1_0_0_0 \demo demo_1_0_0_0.application demo.exe.manifest demo.exe.deploy demo.application *.*.deploy publish.htm Aplikačnímanifest Aplikačnísoubory setup.exe Manifest nasazení Instalace *.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
Video ukázka • Vytvoření aplikace • Návrh uživatelského rozhraní v XAML • XAML Pad • Nasazení aplikace