WPF Under The Hood Engines Tamir Khason Software consulter mPrest systems [email_address] http://blogs.microsoft.co.il/blogs/tamir
Agenda What is Windows Presentation Foundation? New age of real world applications WPF properties system WPF data binding WPF visualization engine Expression Blend / Sparkle
What is Windows Presentation Foundation? It’s part of WinFX (.NET 3.0) It’s XAML (just like [HT]ML) and .NET 2.0 It’s a unified approach to code, UI, documents and media It’s not HWND It runs in Windows (XP too), Web and even /E It works mostly using the GPU
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;
…  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;);  }
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
New age of real world applications
LET’S DO IT! New age of real world applications
Dependency and Attached Properties Dependency Property Globally registered static property Handles storage and  property changes Implement a dependency properties when visual or logical inheritance, or invalidation is required Attached Property Specialized form of dependency properties Child elements store unique values on  parent Child informs parent how to present it on the UI If parent not found, attached property is ignored Property Engine Input / Eventing System .NET Framework 2.0 Unmanaged USER INTERFACE SERVICES Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES MEDIA INTEGRATION LAYER
DEPENDENCY AND ATTACHED PROPERTIES WPF Properties Systems – base concepts
 
 
Data Binding UI can be bound to any data driven object Dependency properties can be even bounded to ADO.NET and Web Services All operations (filter, sort, group) are generated on top of the data You can apply Data Templates to the data What can be a data binding target Any  FrameworkElement Any  DependencyProperty Binding Target Binding Source Dependency Object Object Dependency Property Property TwoWay OneWay OneWayToSource
DATA BINDING WPF Data Binding
 
Visualization engine and Styling Dependency Properties = binding, styling, triggers, animation Template  = customized experience Removed explicit relationship between code & UI Empowered application designer to create custom visuals USER INTERFACE SERVICES XAML BASE SERVICES DOCUMENT SERVICES Composition Engine MEDIA INTEGRATION LAYER Controls Layout
STYLES, TEMPLATES, SKINS AND THEMES WPF visualization engine
 
 
 
LET DESIGNERS DO THEIR WORK Expression Blend / Sparkle
 
Come to meet me at the Development Panel, mail me [email_address] or visit my blog:  http://blogs.microsoft.co.il/blogs/tamir
2  iMATE JASJAM  –  סלולרי חכם משולב כף יד דור  3.5  בחסות חברת סולגוד יוגרלו בין כל ממלאי המשובים ! סט מקלדת - עכבר אלחוטיים יוגרלו בכל אולם בהרצאה האחרונה !  ( לא לשכוח למלא משוב מסכם ....)
Thanks giving Many thanks to Cian Walsh from Afterglow Design ( www.afterglow.ie ) for icons Thanks to PYImage for application layout Thanks to Big Bill for his song “How you want it done” Thanks to Microsoft for their Foundations ( www.netfx3.com )  Thank you for your patience! Go build your own application easily with WPF
 

More Related Content

PPT
Silverlight Framework Architecture
PPTX
Introduction to silverlight control 4
PPTX
Powering Apps with Live Services @ ThatConference
PPT
Tech Lunch 9 25 2008
PPT
Building On Demand Apps On Force.com
PPTX
Powering Your Apps with Live Services
PPTX
Windows Presentation Foundation & XAML
PPT
Silver Light
Silverlight Framework Architecture
Introduction to silverlight control 4
Powering Apps with Live Services @ ThatConference
Tech Lunch 9 25 2008
Building On Demand Apps On Force.com
Powering Your Apps with Live Services
Windows Presentation Foundation & XAML
Silver Light

What's hot (10)

PPT
MSDN Unleashed: WPF Demystified
PDF
THE BREAK-UP - A user interface love story
PPTX
Developing Applications with Windows Phone 7
PPT
Architecture of RIA from JAOO
PDF
Sports Industry
PDF
Sports Industry
PPTX
Live mesh & live framework
PDF
Investor Relations Industry
PPTX
XAML: One Language to Rule Them All
PPTX
Windows Phone 7 and Silverlight
MSDN Unleashed: WPF Demystified
THE BREAK-UP - A user interface love story
Developing Applications with Windows Phone 7
Architecture of RIA from JAOO
Sports Industry
Sports Industry
Live mesh & live framework
Investor Relations Industry
XAML: One Language to Rule Them All
Windows Phone 7 and Silverlight
Ad

Similar to Wpf Under The Hood Engines (20)

PPT
Dot Net Training Dot Net35
PPT
Silverlight Training
PPT
What is Adobe Flex ?
PPT
Adobe® Flex™
PPT
Introduction to XAML and WPF
PPT
Developing RIAs... 10 reasons to use Adobe Flex
PPT
WPF Meets Applications
PPT
An Overview Of Wpf
PDF
WPF - the future of GUI is near
PDF
PPTX
Parallel minds silverlight
PPT
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
PPTX
SLUGUK BUILD Round-up
PPT
PPTX
Microsoft.net architecturte
PPTX
Silverlight Developer Introduction
PPT
Compact Framework Development For The Desktop Developer
PPT
Windows Presentation Foundation: The Opportunity for WPF Applications in the …
PPTX
Intro to silverlight_20110602
PPTX
ArcReady - Architecting For The Client Tier
Dot Net Training Dot Net35
Silverlight Training
What is Adobe Flex ?
Adobe® Flex™
Introduction to XAML and WPF
Developing RIAs... 10 reasons to use Adobe Flex
WPF Meets Applications
An Overview Of Wpf
WPF - the future of GUI is near
Parallel minds silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
SLUGUK BUILD Round-up
Microsoft.net architecturte
Silverlight Developer Introduction
Compact Framework Development For The Desktop Developer
Windows Presentation Foundation: The Opportunity for WPF Applications in the …
Intro to silverlight_20110602
ArcReady - Architecting For The Client Tier
Ad

More from Tamir Khason (6)

PDF
Smart Client Development
PPT
WPF for developers - optimizing your WPF application
PPT
Understanding Reflection
PPT
Creating A Game Using Microsoft’s Next Generation Technologies
PPT
Modern C&C Systems, Using New Technologies
PPT
Introduction To Wpf Engines
Smart Client Development
WPF for developers - optimizing your WPF application
Understanding Reflection
Creating A Game Using Microsoft’s Next Generation Technologies
Modern C&C Systems, Using New Technologies
Introduction To Wpf Engines

Recently uploaded (20)

PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
DOCX
search engine optimization ppt fir known well about this
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
STKI Israel Market Study 2025 version august
PDF
August Patch Tuesday
PPTX
Tartificialntelligence_presentation.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Five Habits of High-Impact Board Members
sustainability-14-14877-v2.pddhzftheheeeee
Web Crawler for Trend Tracking Gen Z Insights.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
search engine optimization ppt fir known well about this
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Developing a website for English-speaking practice to English as a foreign la...
A novel scalable deep ensemble learning framework for big data classification...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Benefits of Physical activity for teenagers.pptx
A review of recent deep learning applications in wood surface defect identifi...
STKI Israel Market Study 2025 version august
August Patch Tuesday
Tartificialntelligence_presentation.pptx
Assigned Numbers - 2025 - Bluetooth® Document
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A comparative study of natural language inference in Swahili using monolingua...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Five Habits of High-Impact Board Members

Wpf Under The Hood Engines

  • 1. WPF Under The Hood Engines Tamir Khason Software consulter mPrest systems [email_address] http://blogs.microsoft.co.il/blogs/tamir
  • 2. Agenda What is Windows Presentation Foundation? New age of real world applications WPF properties system WPF data binding WPF visualization engine Expression Blend / Sparkle
  • 3. What is Windows Presentation Foundation? It’s part of WinFX (.NET 3.0) It’s XAML (just like [HT]ML) and .NET 2.0 It’s a unified approach to code, UI, documents and media It’s not HWND It runs in Windows (XP too), Web and even /E It works mostly using the GPU
  • 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! New age of real world applications
  • 9. Dependency and Attached Properties Dependency Property Globally registered static property Handles storage and property changes Implement a dependency properties when visual or logical inheritance, or invalidation is required Attached Property Specialized form of dependency properties Child elements store unique values on parent Child informs parent how to present it on the UI If parent not found, attached property is ignored 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 WPF Properties Systems – base concepts
  • 11.  
  • 12.  
  • 13. Data Binding UI can be bound to any data driven object Dependency properties can be even bounded to ADO.NET and Web Services All operations (filter, sort, group) are generated on top of the data You can apply Data Templates to the data What can be a data binding target Any FrameworkElement Any DependencyProperty Binding Target Binding Source Dependency Object Object Dependency Property Property TwoWay OneWay OneWayToSource
  • 14. DATA BINDING WPF Data Binding
  • 15.  
  • 16. Visualization engine and Styling Dependency Properties = binding, styling, triggers, animation Template = customized experience Removed explicit relationship between code & UI Empowered application designer to create custom visuals USER INTERFACE SERVICES XAML BASE SERVICES DOCUMENT SERVICES Composition Engine MEDIA INTEGRATION LAYER Controls Layout
  • 17. STYLES, TEMPLATES, SKINS AND THEMES WPF visualization engine
  • 18.  
  • 19.  
  • 20.  
  • 21. LET DESIGNERS DO THEIR WORK Expression Blend / Sparkle
  • 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 Many thanks to Cian Walsh from Afterglow Design ( www.afterglow.ie ) for icons Thanks to PYImage for application layout Thanks to Big Bill for his song “How you want it done” Thanks to Microsoft for their Foundations ( www.netfx3.com ) Thank you for your patience! Go build your own application easily with WPF
  • 26.