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

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

Windows Presentation Foundation Jaroslav Klíma, MFF UK 17.5.2007.

Podobné prezentace


Prezentace na téma: "Windows Presentation Foundation Jaroslav Klíma, MFF UK 17.5.2007."— 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 – 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 • 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 – 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 – 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 – TranslateTransform – RotateTransform – ScaleTransform – SkewTransform • TransformGroup

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

23 Styly • Themes vs. Styles • … • Implicitní styly

24 Animace •

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

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

27 Další zdroje • us/library/ms aspx us/library/ms aspx • •


Stáhnout ppt "Windows Presentation Foundation Jaroslav Klíma, MFF UK 17.5.2007."

Podobné prezentace


Reklamy Google