Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Windows Presentation Foundation

Podobné prezentace


Prezentace na téma: "Windows Presentation Foundation"— Transkript prezentace:

1 Windows Presentation Foundation
Jaroslav Klíma, MFF UK

2 Windows Presentation Foundation
Architektura Hello, WPF! Okna Navigace Umístění a okraje prvků Ovládací prvky Transformace Data binding Styly Animace Odkazy

3 .NET Framework 3.0 WPF je grafickým subsystémem .NET Frameworku 3.0

4 WPF: architektura PresentationFramework a PresentationCore napsané v managed kódu milcore v unmanaged kódu – kvůli výkonu

5 PresentationCore System.Threading.DispatcherObject
Základ pro většinu objektů Řeší běh více vláken současně Systém správ jako Win32 Messages “bubble” or “tunnel” System.Windows.DependencyObject Vlastnosti místo metod Notifikace o změně – INotifyPropertyChange Sdílené výchozí hodnoty vlastností Attached properties

6 System.Windows.Media.Visual
Jednoduché a rozšiřitelné, založené na callback metodách Spojení mezi managed kódem a milcorem vizuální elementy vs. composition nodes

7 System.Windows.Media.Visual
Používá algoritmus malíře namísto ořezávání Data-driven rendering: new Line() namísto DrawLine() Vytváření animací nastavením properties Strom je v cache – vykreslování se neblokuje na callback metodách

8 System.Windows.UIElement
Subsystémy Layout, Input a Events Layout: Measure & Arrange Input: driver (kernel) -> user32 -> WPF -> Dispatcher Preview event a samotný event Systém příkazů: Input gestures & command definitions

9 PresentationFramework
System.Windows.FrameworkElement Nadstavba subsystémů nižších vrstev a několik nových subsystémů Layout aplikace vlastnosti jako MinWidth, Margin... Brána k nižším vrstvám, např. StoryBoard Data binding podobně jako v ASP.NET můžeme bindovat vlastnosti, transformace i seznamy Data templates, styling (explicitní a implicitní)

10 System.Windows.Controls.Control
Šablony – ControlTemplate Control základní vlastnosti (Background, Padding..) data model – vlastnosti ovlivňující model interakce nebo model zobrazení podle konkrétních dat interaction model – příkazy a jejich vazby na gesta Object Control.Content

11 Hello, WPF! Třída Application Markup a code-behind
Singleton – Application.Current Startup, StartupUri MainWindow DispatcherUnhandledException ShutdownMode

12

13 Windows Vytvoření Životní cyklus Vztahy Pozice – startup a z-order
Velikost MinWidth, Width, MaxWidth, SizeToContent ShownInTaskbar, WindowState

14 WindowStyle Neorámované okno
Single border, 3D border, Tool window, None Neorámované okno WindowStyle = None; AllowsTransparency = "True" Background = “Transparent”

15 Dialog boxes Modal / modeless Common: Open file, Save file, Print
Vlastní dialogová okna Validace

16 Navigace Page WindowTitle, WindowHeight Odkazy - hyperlinks
Fragment navigation – odkazy do jiné části stránky URI#name Sub-content navigation pomocí Frame Atribut JournalOwnership

17 Pseudo-strukturovaná navigace
Navigation service Pseudo-strukturovaná navigace Pomocí konstruktoru a application-scope vlastností Strukturovaná navigace Pomocí PageFunction

18 Umístění a okraje prvků
Podobně jako ve WinForms HorizontalAlignment, VerticalAlignment Left, Right (Top, Bottom), Center, Stretch Margin, Padding Panely ovládacích prvků Canvas, DockPanel, Grid, StackPanel, WrapPanel

19 Ovládací prvky Tlačítka Menu Seznamy Range controls Navigační prvky
Button, RadioButton, RepeatButton Menu ContextMenu, Menu, Toolbar Seznamy ComboBox, ListBox, TreeView Range controls CheckBox, Slider Navigační prvky Frame, ScrollBar, ScrollViewer, TabControl, Thumb

20 Dialogová okna Informační prvky Dokumenty Editace textu Media Layout
PasswordBox, Print dialog Informační prvky Expander, Label, Popup, ProgressBar, StatusBar, ToolTip Dokumenty DocumentViewer, FlowDocumentPageViewer, FlowDocumentReader, FlowDocumentScrollViewer Editace textu Textbox, RichTextBox Media Image, MediaElement Layout Border, BulletDecor, Canvas, DockPanel, GridSplitter, GroupBox, Panel, Separator, StackPanel, WrapPanel, ViewBox

21 Transformace RenderTransform TransformGroup TranslateTransform
RotateTransform ScaleTransform SkewTransform TransformGroup

22 Data binding Dependency properties – „závislé vlastnosti“? DataContext
„Dependency properties are like normal .NET properties on steroids.“ DataContext Binding Source/ElementName, Path, Converter

23 Styly Implicitní styly Themes vs. Styles <Window.Resources>
<Style x:Key="redBar" TargetType="{x:Type ScrollBar}"> <Setter Property="Background" Value="red" /> </Style> </Window.Resources> <ScrollBar Style="{StaticResource redBar}">… Implicitní styly

24 Animace <Rectangle ...> <Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="MyRectangle" Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:5" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Rectangle.Triggers> </Rectangle>

25 Typy animací Zvláštní třída pro každý typ <Type>Animation
<Type>AnimationUsingKeyFrames <Type>AnimationUsingPath - Pro vlastní animace: <Type>AnimationBase

26 Příště Globalizace a lokalizace 2D a 3D grafika Accessibility
Šablony dat Typy zdrojů

27 Další zdroje http://msdn2.microsoft.com/en-us/library/ms754130.aspx


Stáhnout ppt "Windows Presentation Foundation"

Podobné prezentace


Reklamy Google