Windows Presentation Foundation

36
Windows Presentation Foundation Štěpán Bechynský Developer Evangelist Microsoft

description

Windows Presentation Foundation. Štěpán Bechynský Developer Evangelist Microsoft. XAML. Programovací jazyk Vychází z XML Vše co udělám pomocí XAML mohu udělat i s pomocí C#, Visual Basic .NET, IronPython , … Popisuje Uživatelské rozhraní Animace Datové vazby …. Hello XAML. DEMO. - PowerPoint PPT Presentation

Transcript of Windows Presentation Foundation

Page 1: Windows  Presentation Foundation

Windows Presentation Foundation

Štěpán BechynskýDeveloper Evangelist

Microsoft

Page 2: Windows  Presentation Foundation

XAML

• Programovací jazyk• Vychází z XML• Vše co udělám pomocí XAML mohu udělat i s

pomocí C#, Visual Basic.NET, IronPython, …• Popisuje– Uživatelské rozhraní– Animace– Datové vazby– …

Page 3: Windows  Presentation Foundation

DEMOHello XAML

Page 4: Windows  Presentation Foundation

Manažery rozložení

• Řídí rozložení ovládacích prvků• DockPanel• StackPanel• Grid– GridSplitter

• Canvas

Page 5: Windows  Presentation Foundation

DEMOManažery rozložení

Page 6: Windows  Presentation Foundation

Element Style

Page 7: Windows  Presentation Foundation

Dědičnost

• Atribute BaseOn– Jméno stylu BaseOn={StaticResource style1}– Cílový typ stylu BaseOn={StaticResource {x:Type …}}

Page 8: Windows  Presentation Foundation

Kam s ním?

• Přímo nastavit vlastnost Style objektu

• Vložit do Resources (nejčastější)

• Kód

Page 9: Windows  Presentation Foundation

Jak se styl aplikuje

• Podle typu objektu – atribut TargedType• Podle jména stylu – atribut x:Key• Vždy se hledá nejbližší styl vyhovující

podmínce v hierarchii objektů směrem nahoru

Page 10: Windows  Presentation Foundation

DEMOStyles

Page 11: Windows  Presentation Foundation

Typy

• Trigger – váže se na jednu vlastnost• MultiTrigger – váže se na více vlastností• DataTrigger – váže se na jednu datovou vazbu• MultiDataTrigger – váže se na více datových

vazeb• EventTrigger – váže se na událost, typické

použití u animací

Page 12: Windows  Presentation Foundation

Kde definovat

• Vlastnost Triggers– Style

– Template– FrameworkElement

Page 13: Windows  Presentation Foundation

DEMOTriggers

Page 14: Windows  Presentation Foundation

Animace

• Lze animovat v podstatě každou vlastnost• „Animátory“ pro jednotlivé datové typy• Klíčové snímky

Page 15: Windows  Presentation Foundation

DEMOSilverlight

Page 16: Windows  Presentation Foundation

DEMOTemplates

Page 17: Windows  Presentation Foundation

Templates

• Zachovává se funkcionalita• Mění se vzhled

Page 18: Windows  Presentation Foundation

Základní princip

• V podstatě jakoukoliv vlastnost objektu lze mapovat na vlastnost jiného objektu

• Zdroj ovlivňuje cíl, ale je to možné i naopak (BindingMode)

• Při nesouladu datových typů zdroje a cíle je třeba použít konvertor (IValueConverter, IMultiValueConverter)

Page 19: Windows  Presentation Foundation

Jednoduchý DataBinding

Page 20: Windows  Presentation Foundation

DEMO 011: Jednoduchý DataBinding

Page 21: Windows  Presentation Foundation

Použití konvertorů

Page 22: Windows  Presentation Foundation

DEMO 012: IValueConverter, IMultiValueConverter

Page 23: Windows  Presentation Foundation

DataContext

• Nastavuje „globalní“ zdroj dat pro objekt a jemu podřízené elementy

Page 24: Windows  Presentation Foundation

DEMO 013: DataContext

Page 25: Windows  Presentation Foundation

XML jako datový zdroj I

• XmlDataProvider– Lze měnit dynamicky v kódu– DataContext a Binding se nastavují přes XPath

Page 26: Windows  Presentation Foundation

DEMO 02WPF RSSFeed Reader

Page 27: Windows  Presentation Foundation

XML jako datový zdroj II

• Registrace jmenného prostoru– Pozor na jmenné prostory bez prefixu

Page 28: Windows  Presentation Foundation

DEMO 03Live Search REST API klient

Page 29: Windows  Presentation Foundation

SQL Server jako datový zdroj

• Je třeba vytvořit ORM– LINQ to SQL, LINQ to Entities

• Zobrazení dat typicky pomocí DataContext a DataTemplate

Page 30: Windows  Presentation Foundation

DEMO 041: WPF Toolkit DataGrid – automatické generování sloupců

Page 31: Windows  Presentation Foundation

DataGrid – Kolekce Columns

• Automatické generování sloupců• Předdefinované typy sloupců– DataGridTextColumn– DataGridCheckBoxColumn– DataGridComboBoxColumn– DataGridHyperlinkColumn– DataGridTemplateColumn

Page 32: Windows  Presentation Foundation

DEMO 042: WPF Toolkit DataGrid – ruční vytváření sloupců

Page 33: Windows  Presentation Foundation

DataGrid – DataGridTemplateColumn

• Naprostá volnost zobrazení• Šablony– DataGridTemplateColumn.CellTemplate– DataGridTemplateColumn.CellEditingTemplate

• Obsah šablon pomocí DataTemplate

Page 34: Windows  Presentation Foundation

DEMO 043: WPF Toolkit DataGrid – šablona sloupce

Page 35: Windows  Presentation Foundation

DataGrid – RowDetailsTemplate

• Zobrazuje se pod vybraným řádkem• DataContext přebrán z vybraného řádku• Obsah pomocí DataTemplate

Page 36: Windows  Presentation Foundation

DEMO 044: WPF Toolkit DataGrid – detail řádku