Proč se uživatelská přívětivost nestala součástí software?

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Pomůcka pro tvorbu prezentací závěrečné a diplomové práce
Jazyk HTML. Zdrojový kód  Elementy obsah obsah př. důležité př. důležité př. př.
AJAX fenomén současného internetu Dalibor Kačmář Academic Developer Evangelist Microsoft ČR host Vítek Karas Senior Software Development Engineer Microsoft.
Windows Presentation Foundation Animace. Animace Proč? Silnější dojem z aplikací Vytváří přirozenější UI Plynulejší visuální přechody Animace kdekoli.
Kompozitní aplikace (Office Business Applications) Michael Juřek, Software Architect Tomáš Kutěj, TSP – Office Platform Microsoft s.r.o.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Programování v jazyku C# II.
Microsoft Silverlight
Workflow Foundation Základy a architektura
ISV Community Days. Čtvrtletně Technologická část zaměřená na jednu technologii.NET Connected Apps, Windows Server 2003 Enhanced, SQL VS 2005,
Modelování procesů pomocí workflow
Operační systémy a aplikační servery Tomáš ZACHAT SPŠ Praha 10, STIC.
Softwarový systém DYNAST
Windows Presentation Foundation Přehled Přednášek
Michal Neuwirth Partner Technical Readiness Microsoft s.r.o.
Vytváříme Webové aplikace s Visual Studiem 2005 a ASP.NET 2.0 Dr. Ing. Dalibor Kačmář Academic Program Manager Developer & Platform Evangelist Group Microsoft.
Tvorba webových aplikací
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
Software Architect Forum 2006 Trendy ve vývoji aplikací Michael Juřek, Dalibor Kačmář Microsoft s.r.o.
Windows Presentation Foundation Přehled technologií, díl III.
Tomáš Urych, ESO9 Intranet a.s.
Microsoft Expression Blend Vývoj WPF aplikací
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
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,
LiveContent Univerzální Formulářové Řešení Michal Petrtýl, Marek Beneš.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Dalibor Kačmář Developer & Platform Evangelist Group
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Jiří Burian DPE PM Nový typ aplikací a požadvků Visual Studio 2008 Silverlight Expression Web 2.0 Připravujeme lokalizaci komunitních.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Návrh Designu a správa multimediálních souborů Dalibor Kačmář Microsoft ČR Host: Julius Hájek Microsoft.
Advanced Technologies 05 Rozšířené monitorování infrastruktury pomocí MOM 2005 Ondřej Výšek Systémový Specialista Infinity a.s., member of Synergon Group.
doc. RNDr. František STANĚK, Ph.D.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Advanced Technologies 05 Integrace MS Exchange a SharePoint a jejich nasazení ve společnosti Microsoft Integrační scénáře technologií Microsoft Exchange.
Windows Presentation Foundation
Databázové modelování
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Databázové systémy Informatika pro ekonomy, př. 18.
Příležitost pro partnery s Windows 7 Lukáš Křovák Produktový manažer divize Windows
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
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.
Aktuální bezpečnostní výzvy … a jak na ně ….. v praxi Dalibor Lukeš Platform and Security Manager Microsoft Czech and Slovak Michal Pechan Production Stream.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
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 –
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.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II - IS nové generace Michal Varga.
MS PowerPoint Pokročilé efekty a práce s multimédii.
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Zahradnická fakulta v Lednici S4U – Seminář o Univerzitním informačním systému 23. – 25. dubna 2008 S 4 U – Seminář o Univerzitním informačním systému.
.NET framework platforma Jiří Pokorný
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
NetBeans Plugin.  Echo2 web framework (Ajax, Java)  NetBeans IDE (modularita, Swing designer)  Vizuální design uživatelského rozhraní (WYSIWYG)  Drag.
C# WPF.
Informatika pro ekonomy přednáška 8
Windows Server 2003 Service Pack 1 z pohledu bezpečnosti
Desktopové aplikace na .NET Core
Transkript prezentace:

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

Windows Presentation Foundation Dalibor Kačmář Academic Deloper Evangelist Microsoft s.r.o. dalibor.kacmar@microsoft.com

Agenda Přehled a architektura WPF Práce s daty Grafika Nasazení WPF aplikací

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 apod. Potřeba lépe a chytřeji visualizovat informace

Jednotný přístup k UI, dokumentům a médiím Aplikační model Deklarativní programování - XAML Integrace médií Data binding Styly a témata Hostování uvnitř prohlížeče Grafický model 2D & 3D grafika, rastrová grafika Text, video, audio, animace Model dokumentů Variabilní 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.

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

Deklarativní tvorba aplikací Odděluje grafický návrh aplikace a aplikační logik Model známý z ASP.NET Návrh vzhledu pomocí jazyka XAML XAML převeden do zdrojového kódu a přeložen do binární formy XAML definuje i aplikace jako celku, zdrojů atd. Button btn = new Button(); btn.Background = Colors.Red; btn.Content = "Tlačítko!"; this.Children.Add( btn ); <Button Background="Red"> Tlačítko! </Button>

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> partial class Window1 : Window { Window1() { InitializeComponent(); } public btn_click(object sender, RoutedEventArg e) { … } }; + 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); } };

Deklarativní návrh vzhledu aplikace Nástroje - XamlPad - Expression Interactive Designer

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

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

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

Události WPF rozšiřuje standardní mechanismus .NET events Routed events Zpracovány v elementu, ale i ve všech „nadřazených“ elementech v tzv. logickém stromu Události mohou Probublat – prochází od zdroje směrem nahoru ve stromu být Tunelovány – začíná u kořene a sestupují dolů ke zdroji být Směrovány - zpracovává pouze zdroj události

Visual Studio 2005 Ovládací prvky ve WPF aplikacích Zpracování událostí

Data binding Proces propojení UI s aplikační logikou Snadná synchronizace dat s vizuální reprezentací Reflektuje na změny v UI i v datovém zdroji WPF propojuje „Dependency Properties“ s řadou datových zdrojů <Image Source="auto.png" Canvas.Left= "{Binding Path = Value, ElementName = horzPos }" /> <Slider Orientation= "Horizontal" Name = "horzPos" Value = "40" Maximum="100" /> The most straightforward form of data binding to look at is binding between one element and another in the user interface. There’s nothing special about this – it works like binding to any data source, it’s just easier to see what’s going on because everything can be shown in markup. Here we have a UI with a horizontal slider control, and we’d like to use that to set the position of an image. We can do this by using data binding to bind the image’s Canvas.Left property to the horizontal slide’s Value property. The binding expression for this needs just two pieces of information: the name of the property (which we set as the Path of the binding) and the name of the source element. Setting the binding’s ElementName property lets the binding know that we want to bind to a UI element. (There are other properties used for other source types.) 15

Binding elementy Cíl (Binding Target) Zdroj (Binding Source) Modely Ovládací prvek Dependency Property Cíl (Binding Target) Libovolná vlastnost WPF elementu Zdroj (Binding Source) CLR objekt WPF Element ADO.NET (prostřednictvím Dataset) XML Kolekce Modely One Time, One Way, Two Way, One Way To Source Dynamika Master-Detail scénáře Value Converter Data Binding Synchronizace Konverze WPF’s data binding system can target any property on any WPF element. (Strictly speaking, the target has to be a Dependency Property, which almost all properties on WPF elements are.) Absolutely any public property on any .NET object can be used as a data source. The object does not need to have any special knowledge of WPF. The property simply has to be a normal CLR property. This is crucial to data binding’s flexibility – it places very few demands on the source object, giving you freedom to choose more or less any object as a source. Data binding also recognizes the .NET Framework’s TypeDescriptor property virtualization system, that allows objects to decide at runtime what properties to expose. This is the system used by the ADO.NET DataSet, DataTable, and related classes to present whatever columns of data happen to be in the table. Finally, data binding has special handling for XML data sources. Zdroj Objekt Property 16

Datový zdroj Zdroje Datový kontext .NET objekt – ObjectDataProvider XML dokument – XmlDataProvider Kolekce Připojeny k ItemControl prvkům nebo formou iterace Dynamická vazba volitelně (ObservableCollection<T>) Přístup k položkám kolekce Automatická synchronizace - INotifyPropertyChanged Datový kontext Místo, kde data binding hledá informace o zdroji dat Definován na úrovni elementů Prohledávání po celém stromu elementů

Datová šablona Datová šablona prezentuje informace datového zdroje konkrétního typu Často použita pro položky kolekce class Car { string Image {get;set;} string Model {get;set;} } <DataTemplate x:Key="carTemplate"> <Border BorderBrush="Blue" BorderThickness="2" Background="LightGray"> <StackPanel> <Image HorizontalAlignment="Center" Source="{Binding Path=Image}" /> <Border HorizontalAlignment="Center" BorderBrush="Navy"> <TextBlock FontSize="18" Text="{Binding Path=Model}" /> </Border> </StackPanel> </DataTemplate> A data template defines how to present the information from a data source of a particular type. A template usually lives in a resource dictionary, and is simply a chunk of markup with {Binding} expressions. When a control presents data using a data template, it is as though the template is copied into that control, and its DataContext set to the data source. (This means that none of the binding expressions need to specify a source – they can just assume that the source will be an instance of the type the template is designed to present.) 18

Spojení uživatelského rozhraní s datovým zdrojem

Styly a šablony ovládacích prvků Individuální nastavení stylu komponent je neproduktivní Styl centralizuje nastavení společné pro konkrétní element pro společné vlastnosti různých elementů Nastavení jsou pojmenovaná nebo typově-orientovaná Vlastnosti definované stylem lze deklarativně dědit lze deklarativně předefinovat na úrovni elementu nastavit programově Styl lze kombinovat s datovou šablonou Oddělení datové vazby od nastavení vzhledu

Triggery Vnáší do statického nastavení vlastností dynamiku Trigger umožňuje podmínečné nastavování vlastností Trigger Spuštění Jednoduchý, násobný Hodnotou vlastnosti visuálního elementu Datový Hodnotou objektu v DataContextu Event Příchodem události

Šablona ovládacího prvku Vzhled zcela oddělen od logiky „Navléká“ na prvek nový vzhled Je množinou Elementů, tvořících vzhled Triggerů, reagujících na změny Storyboardů, vytvářejících animace Logické stromy vs. Vizuální stromy Logický strom - binární reprezentace XAML Visuální strom - graf, který obsahuje všechna data potřebná pro složení a vykreslení okna Přepište vizuální strom - změníte vzhled

Logické a vizuální stromy Kočka Pes <StackPanel> <ListBox> <ListBoxItem>Kočka</ListBoxItem> <ListBoxItem>Pes</ListBoxItem> </ListBox> <Button>Oblíbené zvíře</Button> </StackPanel>

Definice vzhledu ovládacích prvků Jednoduchý trigger

Novinky v grafice Plně integrována do programového modelu Může být součástí libovolného UI elementu Grafické tvary uspořádány do stromu elementů UI Odpadá nutnost neustále překreslovat okna Složitě manipulovat s vykreslenou grafikou WPF se za nás postará o překreslování Všechny elementy jsou vektorové, nikoli bitové mapy, tedy nezávislé na rozlišení!

Společné novinky v grafice Grafika nezávislá na rozlišení a zařízení Postavena na Device Independent Pixel Vylepšená přesnost Souřadný systém WPF a transformace - double WPF nabízí širší barevný gamut (scRGB) Pokročilá podpora grafiky a animací Transformace, hit testování, minimální překreslování, integrace animace Hardwarová akcelerace

Kompozice Proces složení více tvarů nebo obrázků ve výsledný výstup WPF na rozdíl od Win32 podporuje překrývání libovolných elementů (ne pouze celých oken) průhlednost používá anti-aliasing na hranách tvarů aplikaci transformace před kompozicí

Možnosti kompozice DrawingBrush VisualBrush Výplň vektorovým obrázkem Výplň UI elementem Zjednodušuje triky Reflexe UI Použití jako 3D textury The DrawingBrush is conceptually very similar to the ImageBrush, in that both allow you to fill an area with a picture. The difference with the DrawingBrush is that you don’t have to use a bitmap. You can pass in any Drawing object. For example, if you use a GeometryDrawing, you can perform all the same drawing operations as the Path shape. And you can use a DrawingGroup to bring multiple GeometryDrawing elements together. You are free to use any Brush and Pen for each individual GeometryDrawing within the drawing, so you can build up sophisticated imagery and then use it as a pen. The VisualBrush has similar capabilities to DrawingBrush – it allows an imagery, vector or bitmap, to be used as a brush. The difference is that the VisualBrush takes any UI element as its source. You can even point it at a UI element that is already in use in the application. This means you can use a VisualBrush to replicate part of the UI. This can be used for tricks such as making a reflection of part of the UI by painting it somewhere else. (This can be done in conjunction with opacity to make the reflection fade.)

Visual-Layer programování Deklarativní popis není vždy vhodný WPF poskytuje „visual-layer“ API Vykreslování entit podle potřeby Metoda OnRender vykreslí jednotlivé entity Odlišný model překreslování Aplikace Vizuální objekty Aplikace WPF GDI+ nebo GDI32 Grafická karta Frame buffer obrazovky Invalidate WM_PAINT Windows

3D ve 2D světě Layout rozumí pouze 2D Použijeme obdélníkové okno do 3D světa Layout to vidí jako další element Viewport3D Kamera Grid Model FrameworkElement TextBlock StackPanel Světlo As far as WPF’s layout and composition systems are concerned, Viewport3D is just a normal 2D element like any other, with a rectangular bounding box, and which recognizes the same layout rules as all other elements. However, the Viewport3D contains a 3D model, and renders that model into the 2D space allotted. Viewport3D derives from FrameworkElement, which is the base class of all visible elements in the WPF framework. This is what enables it to participate in normal UI layout and composition. One limitation of this design is that the 3D world that the Viewport3D looks into is isolated from the main UI. You cannot arrange for the 3D model to be rearranged as part of the 2D layout process. This means that in some respects, a Viewport3D is similar to the Image and Media elements, which allow bitmaps and video to be incorporated – these elements display content which is not a completely integrated part of the UI. However, although the 3D model cannot respond to layout, the objects that represent the 3D scene are part of the WPF framework, which means you can use animation, styling, and event triggers, so it is certainly possible to use 3D in a way that feels like an integrated part of the UI. StackPanel DockPanel

Animace Proč? Animace kdekoli Kdekoli ≠ všude Silnější dojem z aplikací Vytváří přirozenější UI Plynulejší visuální přechody Animace kdekoli Jakoukoli vlastnost lze animovat Kdekoli ≠ všude Zvážit vhodnost Zdrženlivost je na místě Realizace animací deklarativně i kódem Animation can bring a user interface to life. It is common for parts of a user interface to respond to user input. For example, buttons look like they have been physically pressed in when you click on them; UI elements might light up or change style to indicate that they might do something interesting if clicked on. Tasteful use of animation can enhance the realism of ‘moving parts’ in a UI, and make for a smoother feeling UI. Also, animation can be used to make visual transitions easier to follow. Sudden changes are jarring to watch, and can make us lose our place in the UI. By animating transitions, life can be made easier for the user. Almost any property of any visual element can be animated. (Strictly speaking, any dependency property on any element derived from FrameworkElement can be animated.) Of course it’s important to design your animations with sensitivity to the user. Careless use of animation can have a terrible impact on the UI. Too many animations will make the UI garish and distracting; animations that are slow or which force the user to wait until the end of the animation lead to frustration. So be careful not to let them get in the way. But when animation is used intelligently, it can enhance a UI significantly.

Deklarativní animace Popisují animačnímu systému průběh Např. změň šířku (Width) z 10 na 100 během 10 sekund Zbytek proveden automaticky Bez nutnosti nastavit časovače Bez nutnosti vlastního vykreslování Code is usually not required to animate the UI – WPF supports declarative animation. You can also animate from code as well if you like, but even there, it’s a usually a matter of telling the animation system what you’d like it to do for you, and letting it get on with it. The system will take care of regularly updating the display to keep the animation running. Typ animace <DoubleAnimation From="10" To="100" Duration="0:0:10" Storyboard.TargetName="myellipse" Storyboard.TargetProperty="(Ellipse.Width)" /> Parametry animace Cíl animace Animovaná vlastnost

Grafické efekty v aplikaci a animace

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 Web Browser aplikace Běží v prostředí prohlížeče s typickým vpřed-vzat navigací Omezení práv aplikace (Partial Trust) Aplikace nemůže požádat o dodatečná práva (běží nebo ne) Definice potřebných práv v projektu aplikace 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

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 Možnost požádat o vyšší povolení Je vyžadován digitální podpis instalace

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 OnceClick 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 asociovaných souborů dané verze

Hostování aplikace v prohlížeči ClickOnce nasazení aplikace

Rekapitulace Nový a pružný model popisu uživatelského rozhraní WPF rozumí vašim datům Šablony dodávají vzhled i dynamiku Grafika dostupná deklarativně i programově 2D i 3D modely obohacené animací Přenesení výkonu na grafickou kartu Jednoduché nasazení a zvýšenou bezpečnost Stáhněte si .NET Framework 3.0 RC a vyzkoušejte si WPF

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

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.