Your SlideShare is downloading. ×
0
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Wpf Under The Hood Engines
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Wpf Under The Hood Engines

1,800

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,800
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. WPF Under The Hood Engines Tamir Khason Software consulter mPrest systems [email_address] http://blogs.microsoft.co.il/blogs/tamir
    • 2. Agenda <ul><li>What is Windows Presentation Foundation? </li></ul><ul><li>New age of real world applications </li></ul><ul><li>WPF properties system </li></ul><ul><li>WPF data binding </li></ul><ul><li>WPF visualization engine </li></ul><ul><li>Expression Blend / Sparkle </li></ul>
    • 3. What is Windows Presentation Foundation? <ul><li>It’s part of WinFX (.NET 3.0) </li></ul><ul><li>It’s XAML (just like [HT]ML) and .NET 2.0 </li></ul><ul><li>It’s a unified approach to code, UI, documents and media </li></ul><ul><li>It’s not HWND </li></ul><ul><li>It runs in Windows (XP too), Web and even /E </li></ul><ul><li>It works mostly using the GPU </li></ul>
    • 4. So XAML or Code Compile and Run Compile and Run Parse 010010100101101001010101101010100 BAML Load and Display < Button Width =&quot;100&quot; Background =&quot;LightBlue&quot;>OK</ Button > Button b = new Button(); b.Width = 100; b.Background = Brushes.LightBlue; b.Content = &quot;OK&quot;; Dim b As New Button b.Width = 100 b.Background = Brushes.LightBlue b.Content = &quot;OK&quot;
    • 5. … or Both CLASS Compile and Run public partial class internal Button b; Load(“app.baml”); 010010100101101001010101101010100 app.baml Parse and Generate < Button Width =&quot;100&quot; Background =&quot;LightBlue&quot; Click =&quot;DoSomething&quot;>OK</ Button > void DoSomething(object sender, RoutedEventArgs e) { MessageBox.Show( &quot;I do not have to do designer's work!&quot;); }
    • 6. WPF architecture Property Engine Input / Eventing System .NET Framework 2.0 Desktop Windows Manager Media Integration Layer DirectX Windows Vista Display Driver (LDDM) Windows Media Foundation Composition Engine Print Spooler Managed Unmanaged Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES Packaging Services XPS Documents Animation 2D 3D Audio Imaging Text Video Effects Composition Engine MEDIA INTEGRATION LAYER Controls Layout Windows Presentation Foundation XPS Viewer
    • 7. New age of real world applications
    • 8. LET’S DO IT! <ul><li>New age of real world applications </li></ul>
    • 9. Dependency and Attached Properties <ul><li>Dependency Property </li></ul><ul><ul><li>Globally registered static property </li></ul></ul><ul><ul><li>Handles storage and property changes </li></ul></ul><ul><ul><li>Implement a dependency properties when visual or logical inheritance, or invalidation is required </li></ul></ul><ul><li>Attached Property </li></ul><ul><ul><li>Specialized form of dependency properties </li></ul></ul><ul><ul><li>Child elements store unique values on parent Child informs parent how to present it on the UI </li></ul></ul><ul><ul><li>If parent not found, attached property is ignored </li></ul></ul>Property Engine Input / Eventing System .NET Framework 2.0 Unmanaged USER INTERFACE SERVICES Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES MEDIA INTEGRATION LAYER
    • 10. DEPENDENCY AND ATTACHED PROPERTIES <ul><li>WPF Properties Systems – base concepts </li></ul>
    • 11.  
    • 12.  
    • 13. Data Binding <ul><li>UI can be bound to any data driven object </li></ul><ul><li>Dependency properties can be even bounded to ADO.NET and Web Services </li></ul><ul><li>All operations (filter, sort, group) are generated on top of the data </li></ul><ul><li>You can apply Data Templates to the data </li></ul><ul><li>What can be a data binding target </li></ul><ul><ul><li>Any FrameworkElement </li></ul></ul><ul><ul><li>Any DependencyProperty </li></ul></ul>Binding Target Binding Source Dependency Object Object Dependency Property Property TwoWay OneWay OneWayToSource
    • 14. DATA BINDING <ul><li>WPF Data Binding </li></ul>
    • 15.  
    • 16. Visualization engine and Styling <ul><li>Dependency Properties = binding, styling, triggers, animation </li></ul><ul><li>Template = customized experience </li></ul><ul><li>Removed explicit relationship between code & UI </li></ul><ul><li>Empowered application designer to create custom visuals </li></ul>USER INTERFACE SERVICES XAML BASE SERVICES DOCUMENT SERVICES Composition Engine MEDIA INTEGRATION LAYER Controls Layout
    • 17. STYLES, TEMPLATES, SKINS AND THEMES <ul><li>WPF visualization engine </li></ul>
    • 18.  
    • 19.  
    • 20.  
    • 21. LET DESIGNERS DO THEIR WORK <ul><li>Expression Blend / Sparkle </li></ul>
    • 22.  
    • 23. Come to meet me at the Development Panel, mail me [email_address] or visit my blog: http://blogs.microsoft.co.il/blogs/tamir
    • 24. 2 iMATE JASJAM – סלולרי חכם משולב כף יד דור 3.5 בחסות חברת סולגוד יוגרלו בין כל ממלאי המשובים ! סט מקלדת - עכבר אלחוטיים יוגרלו בכל אולם בהרצאה האחרונה ! ( לא לשכוח למלא משוב מסכם ....)
    • 25. Thanks giving <ul><li>Many thanks to Cian Walsh from Afterglow Design ( www.afterglow.ie ) for icons </li></ul><ul><li>Thanks to PYImage for application layout </li></ul><ul><li>Thanks to Big Bill for his song “How you want it done” </li></ul><ul><li>Thanks to Microsoft for their Foundations ( www.netfx3.com ) </li></ul><ul><li>Thank you for your patience! </li></ul>Go build your own application easily with WPF
    • 26.  

    ×