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

Windows Presentation Foundation

Jan 01, 2016

Download

Documents

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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