SlideShare a Scribd company logo
Tamir Khason Software consulter mPrest systems [email_address] http://blogs.microsoft.co.il/blogs/tamir 06/07/09 © 2001-2007 Copyright Microsoft corporation
Agenda WTF 1  is WPF WTF 2  Inside there WTF 3  XAML WTF 4  WPF Engines WTF 5  Expression 1  - Work Time Fun 2  - Write To File 3  - What's This For 4  - Words That Follow 5  - Way to Fly
Windows Presentation Foundation WPF is much richer then WinForms XAML is cool and prevents the mess with crazy designers We do not really need User Controls and Owner Draws We can forget about input and output hardware We want all properties to be DPs and all events to be REs It’s all about data
No demos – don’t you already use it in your developments?
Platforms? Windows XP Home/Pro SP2 Windows Server 2003 Windows Vista
What about all things done? Can use WPF with existing code WPF inside existing code Existing code inside WPF Interop at the component level Maximum richness => all WPF
Engines involved WTF 2  Inside there
How to design your application WPF controls are lookless – it’s all about data Objects creation through properties drives behaviors WPF is dynamic, sometimes too much First create data, then let designer to present it
WPF fundamentals Basic Architecture XAML Layout Controls
Content model There are only two framework elements: Content and Behavior Containers of Content and Behavior Content element contains any kind of content via Content property Item element contains any number of Content Elements via Items property and pointer to current element
Layout model WPF has only one panel, but different behaviors for this one Panel behavior is an implementation a control layout You have some ready made and can create your own There are some layout models Children, Size to Content, Alignments, Margins and Overflows
Layout - Panels
Dependency Property Calculating of property's value based on other properties Dependency property is…  Static fields, registered with meta data  CLR property Attached property is a dependency property that defined by a different type than the element to which the property is applied
eXtensible Application Markup Language WTF 3  XAML
XAML defines a tree of stateful objects <TravelItenerary> <CarTrip From=&quot;Aix en Provence, France&quot; To=&quot;Paris, France&quot; Time=&quot;2006/07/20T12:00&quot; Duration=&quot;6:00:00&quot; /> <Hotel Name=&quot;Under the Eiffel Tower&quot; Location=&quot;Paris, France&quot; Time=&quot;2006/07/20T20:00&quot; CheckOut=&quot;2006/07/21T05:00&quot; /> <Flight From=&quot;Paris, France&quot; To=&quot;London, England&quot; Time=&quot;2006/07/21T7:00&quot; Duration=&quot;1:15:00&quot; /> <Flight From=&quot;London, England&quot; To=&quot;Seattle, USA&quot; Time=&quot;2006/07/21T16:15&quot; Duration=&quot;9:30:00&quot; /> </TravelItenerary>
XAML uses namespaces for extensions -  xmlns:… Markup Extensions Used in Attribute Values to set values that aren't settable via type converters XAML Language {x:Null} {x:Static Class.Member} {x:Type wpf:Button} WPF Class Library {Binding …}, {StaticResource …}, {DynamicResource …}, etc…
How they make our live easier? WTF 4  WPF Engines
Routed Events Nothing new, but nice refreshment – regular .NET events extension Can be created, changed and called Can have one of following strategies Direct Bubbling Tunneling
Commands Command = Action Command != Action logic Can be executed from different places Can have different behaviors for different targets You have some ready made and can create your own Can have constraints
Data Binding WPF understands your data use your favorite data model: XML, objects, SQL, WS … Bind data to controls Templates give your data a face Controls “think” data  Data is pervasive across and integrated into the platform
Data Binding Target Any property, any element Source CLR Object WPF Element ADO.NET XML Dynamic INotifyPropertyChanged, DependencyProperty or PropertyDescriptor Multiple models One Time One Way Two Way Value Converter Control “ Data Item” Property Property Binding
Styles A style is a way to change visual representation of control, by using a set of properties Styles make your application to looks fun, without changing its logic The separation of the presentation and logic allows designers and programmers to work simultaneously
Templates Templates are not styles, but might include Templates is the way to change control’s behaviors Templates is the way to change data representation Templates are resources, thus might be loaded externally
Control Templates Controls have separated appearance and behavior Control template = way to change behavior Control appearance is the Cheshire Cat and set by styles   You do not need custom controls, unless you have something new to do
Data Templates Make you data visible Data Template is the way to definevisual structure of a data object Data Template useable aside with binding Don’t build views for displaying data, let the data to build the view Might be recursive
What’s going on over designer’s scheme? WTF 5  Expression
Expression Blend Expression Blend is a design tool Expression Blend provides tools for Vector and bitmap based graphics 3D, Animation Rich Controls, Text Documents and more.  Share results with Developers who use Visual Studio to add C# or VB code and assemble the final experience.
 
Expression Design Expression Design is even more design tool Expression Design provides tools for Professional and highly creative vector drawing Transformation and effect features  An reliable XAML Exporter to convert design elements into XAML Share results with Designer who use Expression Blend to add elements into layout and final markup
 
Expression Media and Web Expression Web  Build websites using XHTML, ASP.NET, CSS, XML, etc.  Expression Media Digital Asset Management and Cataloguing tool  for arrangement of large amount of rich media types into logical categories.  Expression Studio contains of them all
WTF n  - Where's the Food?
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 06/07/09 © 2001-2007 Copyright Microsoft corporation
Ad

More Related Content

What's hot (18)

WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)
Prashanth Shivakumar
 
E learning excel vba programming lesson 2
E learning excel vba programming  lesson 2E learning excel vba programming  lesson 2
E learning excel vba programming lesson 2
Vijay Perepa
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
danishrafiq
 
Vba introduction
Vba introductionVba introduction
Vba introduction
Sandesh DJSAS Singh
 
E learning excel vba programming lesson 1
E learning excel vba programming  lesson 1E learning excel vba programming  lesson 1
E learning excel vba programming lesson 1
Vijay Perepa
 
Flex vs HTML5
Flex vs HTML5Flex vs HTML5
Flex vs HTML5
Ray Wong
 
70-480 - Programming in HTML5 with JavaScript and CSS3
 70-480 - Programming in HTML5 with JavaScript and CSS3 70-480 - Programming in HTML5 with JavaScript and CSS3
70-480 - Programming in HTML5 with JavaScript and CSS3
Roxycodone Pills
 
Windows Presentation Foundation
Windows Presentation Foundation  Windows Presentation Foundation
Windows Presentation Foundation
Deepika Chaudhary
 
Vba
Vba Vba
Vba
Juhi Mahajan
 
VBA
VBAVBA
VBA
Tekish
 
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
SharePoint Saturday  Cologne 2019  - Spice up your SharePoint list with Power...SharePoint Saturday  Cologne 2019  - Spice up your SharePoint list with Power...
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
Rebekka Aalbers-de Jong
 
Forms With Ajax And Advanced Plugins
Forms With Ajax And Advanced PluginsForms With Ajax And Advanced Plugins
Forms With Ajax And Advanced Plugins
Manuel Lemos
 
WPF For Beginners - Learn in 3 days
WPF For Beginners  - Learn in 3 daysWPF For Beginners  - Learn in 3 days
WPF For Beginners - Learn in 3 days
Udaya Kumar
 
PowerApps
PowerAppsPowerApps
PowerApps
Penny Coventry
 
Tcs3 stc creating e pub and apps with tcs3
Tcs3 stc creating e pub and apps with tcs3Tcs3 stc creating e pub and apps with tcs3
Tcs3 stc creating e pub and apps with tcs3
Matt Sullivan
 
Creating xml publisher documents with people code
Creating xml publisher documents with people codeCreating xml publisher documents with people code
Creating xml publisher documents with people code
Randall Groncki
 
Creating a Data Driven UI Framework
Creating a Data Driven UI FrameworkCreating a Data Driven UI Framework
Creating a Data Driven UI Framework
Ankur Bansal
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
Milan Vukoje
 
WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)
Prashanth Shivakumar
 
E learning excel vba programming lesson 2
E learning excel vba programming  lesson 2E learning excel vba programming  lesson 2
E learning excel vba programming lesson 2
Vijay Perepa
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
danishrafiq
 
E learning excel vba programming lesson 1
E learning excel vba programming  lesson 1E learning excel vba programming  lesson 1
E learning excel vba programming lesson 1
Vijay Perepa
 
Flex vs HTML5
Flex vs HTML5Flex vs HTML5
Flex vs HTML5
Ray Wong
 
70-480 - Programming in HTML5 with JavaScript and CSS3
 70-480 - Programming in HTML5 with JavaScript and CSS3 70-480 - Programming in HTML5 with JavaScript and CSS3
70-480 - Programming in HTML5 with JavaScript and CSS3
Roxycodone Pills
 
Windows Presentation Foundation
Windows Presentation Foundation  Windows Presentation Foundation
Windows Presentation Foundation
Deepika Chaudhary
 
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
SharePoint Saturday  Cologne 2019  - Spice up your SharePoint list with Power...SharePoint Saturday  Cologne 2019  - Spice up your SharePoint list with Power...
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
Rebekka Aalbers-de Jong
 
Forms With Ajax And Advanced Plugins
Forms With Ajax And Advanced PluginsForms With Ajax And Advanced Plugins
Forms With Ajax And Advanced Plugins
Manuel Lemos
 
WPF For Beginners - Learn in 3 days
WPF For Beginners  - Learn in 3 daysWPF For Beginners  - Learn in 3 days
WPF For Beginners - Learn in 3 days
Udaya Kumar
 
Tcs3 stc creating e pub and apps with tcs3
Tcs3 stc creating e pub and apps with tcs3Tcs3 stc creating e pub and apps with tcs3
Tcs3 stc creating e pub and apps with tcs3
Matt Sullivan
 
Creating xml publisher documents with people code
Creating xml publisher documents with people codeCreating xml publisher documents with people code
Creating xml publisher documents with people code
Randall Groncki
 
Creating a Data Driven UI Framework
Creating a Data Driven UI FrameworkCreating a Data Driven UI Framework
Creating a Data Driven UI Framework
Ankur Bansal
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
Milan Vukoje
 

Viewers also liked (7)

sud ouest france 1
sud ouest france 1sud ouest france 1
sud ouest france 1
pminsurance
 
DiseñO Administracion Y Seguridad En Redes
DiseñO Administracion Y Seguridad En RedesDiseñO Administracion Y Seguridad En Redes
DiseñO Administracion Y Seguridad En Redes
nforero
 
Cámara de Turismo de Esquel
Cámara de Turismo de EsquelCámara de Turismo de Esquel
Cámara de Turismo de Esquel
guestbcc895
 
Wces 2 Nazime
Wces 2 NazimeWces 2 Nazime
Wces 2 Nazime
Dr. Nazime Tuncay
 
Valladolid
ValladolidValladolid
Valladolid
zarrapas
 
sud ouest france 1
sud ouest france 1sud ouest france 1
sud ouest france 1
pminsurance
 
DiseñO Administracion Y Seguridad En Redes
DiseñO Administracion Y Seguridad En RedesDiseñO Administracion Y Seguridad En Redes
DiseñO Administracion Y Seguridad En Redes
nforero
 
Cámara de Turismo de Esquel
Cámara de Turismo de EsquelCámara de Turismo de Esquel
Cámara de Turismo de Esquel
guestbcc895
 
Valladolid
ValladolidValladolid
Valladolid
zarrapas
 
Ad

Similar to Introduction To Wpf Engines (20)

Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
Dave Allen
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlight
parallelminder
 
WPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these daysWPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these days
Dave Bost
 
Silverlight Developer Introduction
Silverlight   Developer IntroductionSilverlight   Developer Introduction
Silverlight Developer Introduction
Tomy Ismail
 
A Tour of Windows Presentation Foundation (WPF)
A Tour of Windows Presentation Foundation (WPF)A Tour of Windows Presentation Foundation (WPF)
A Tour of Windows Presentation Foundation (WPF)
ukdpe
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour Technolab
iFour Technolab Pvt. Ltd.
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
Subodh Pushpak
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
ukdpe
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011
Charalampos Arapidis
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet Applications
Abdelmonaim Remani
 
NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinForm
Raffaele Garofalo
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5
Hadi Karimi
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
Jonas Follesø
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
Rohit Ray
 
Spsmi13 charts
Spsmi13 chartsSpsmi13 charts
Spsmi13 charts
Derek Gusoff
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
rramabad
 
Xml usage in my work
Xml usage in my workXml usage in my work
Xml usage in my work
JoniKettunen
 
WPF & Silverlight UI
WPF & Silverlight UIWPF & Silverlight UI
WPF & Silverlight UI
Dave Allen
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
Derek Lakin
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
Dave Allen
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlight
parallelminder
 
WPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these daysWPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these days
Dave Bost
 
Silverlight Developer Introduction
Silverlight   Developer IntroductionSilverlight   Developer Introduction
Silverlight Developer Introduction
Tomy Ismail
 
A Tour of Windows Presentation Foundation (WPF)
A Tour of Windows Presentation Foundation (WPF)A Tour of Windows Presentation Foundation (WPF)
A Tour of Windows Presentation Foundation (WPF)
ukdpe
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour Technolab
iFour Technolab Pvt. Ltd.
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
ukdpe
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011
Charalampos Arapidis
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet Applications
Abdelmonaim Remani
 
NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinForm
Raffaele Garofalo
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5
Hadi Karimi
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
Jonas Follesø
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
Rohit Ray
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
rramabad
 
Xml usage in my work
Xml usage in my workXml usage in my work
Xml usage in my work
JoniKettunen
 
WPF & Silverlight UI
WPF & Silverlight UIWPF & Silverlight UI
WPF & Silverlight UI
Dave Allen
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
Derek Lakin
 
Ad

More from Tamir Khason (6)

Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client Development
Tamir Khason
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
Tamir Khason
 
Understanding Reflection
Understanding ReflectionUnderstanding Reflection
Understanding Reflection
Tamir Khason
 
Creating A Game Using Microsoft’s Next Generation Technologies
Creating A Game Using Microsoft’s Next Generation TechnologiesCreating A Game Using Microsoft’s Next Generation Technologies
Creating A Game Using Microsoft’s Next Generation Technologies
Tamir Khason
 
Modern C&C Systems, Using New Technologies
Modern C&C Systems, Using New TechnologiesModern C&C Systems, Using New Technologies
Modern C&C Systems, Using New Technologies
Tamir Khason
 
Wpf Under The Hood Engines
Wpf Under The Hood EnginesWpf Under The Hood Engines
Wpf Under The Hood Engines
Tamir Khason
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client Development
Tamir Khason
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
Tamir Khason
 
Understanding Reflection
Understanding ReflectionUnderstanding Reflection
Understanding Reflection
Tamir Khason
 
Creating A Game Using Microsoft’s Next Generation Technologies
Creating A Game Using Microsoft’s Next Generation TechnologiesCreating A Game Using Microsoft’s Next Generation Technologies
Creating A Game Using Microsoft’s Next Generation Technologies
Tamir Khason
 
Modern C&C Systems, Using New Technologies
Modern C&C Systems, Using New TechnologiesModern C&C Systems, Using New Technologies
Modern C&C Systems, Using New Technologies
Tamir Khason
 
Wpf Under The Hood Engines
Wpf Under The Hood EnginesWpf Under The Hood Engines
Wpf Under The Hood Engines
Tamir Khason
 

Recently uploaded (20)

machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Preeti Jha
 
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
UXPA Boston
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Preeti Jha
 
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
UXPA Boston
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 

Introduction To Wpf Engines

  • 1. Tamir Khason Software consulter mPrest systems [email_address] http://blogs.microsoft.co.il/blogs/tamir 06/07/09 © 2001-2007 Copyright Microsoft corporation
  • 2. Agenda WTF 1 is WPF WTF 2 Inside there WTF 3 XAML WTF 4 WPF Engines WTF 5 Expression 1 - Work Time Fun 2 - Write To File 3 - What's This For 4 - Words That Follow 5 - Way to Fly
  • 3. Windows Presentation Foundation WPF is much richer then WinForms XAML is cool and prevents the mess with crazy designers We do not really need User Controls and Owner Draws We can forget about input and output hardware We want all properties to be DPs and all events to be REs It’s all about data
  • 4. No demos – don’t you already use it in your developments?
  • 5. Platforms? Windows XP Home/Pro SP2 Windows Server 2003 Windows Vista
  • 6. What about all things done? Can use WPF with existing code WPF inside existing code Existing code inside WPF Interop at the component level Maximum richness => all WPF
  • 7. Engines involved WTF 2 Inside there
  • 8. How to design your application WPF controls are lookless – it’s all about data Objects creation through properties drives behaviors WPF is dynamic, sometimes too much First create data, then let designer to present it
  • 9. WPF fundamentals Basic Architecture XAML Layout Controls
  • 10. Content model There are only two framework elements: Content and Behavior Containers of Content and Behavior Content element contains any kind of content via Content property Item element contains any number of Content Elements via Items property and pointer to current element
  • 11. Layout model WPF has only one panel, but different behaviors for this one Panel behavior is an implementation a control layout You have some ready made and can create your own There are some layout models Children, Size to Content, Alignments, Margins and Overflows
  • 13. Dependency Property Calculating of property's value based on other properties Dependency property is… Static fields, registered with meta data CLR property Attached property is a dependency property that defined by a different type than the element to which the property is applied
  • 14. eXtensible Application Markup Language WTF 3 XAML
  • 15. XAML defines a tree of stateful objects <TravelItenerary> <CarTrip From=&quot;Aix en Provence, France&quot; To=&quot;Paris, France&quot; Time=&quot;2006/07/20T12:00&quot; Duration=&quot;6:00:00&quot; /> <Hotel Name=&quot;Under the Eiffel Tower&quot; Location=&quot;Paris, France&quot; Time=&quot;2006/07/20T20:00&quot; CheckOut=&quot;2006/07/21T05:00&quot; /> <Flight From=&quot;Paris, France&quot; To=&quot;London, England&quot; Time=&quot;2006/07/21T7:00&quot; Duration=&quot;1:15:00&quot; /> <Flight From=&quot;London, England&quot; To=&quot;Seattle, USA&quot; Time=&quot;2006/07/21T16:15&quot; Duration=&quot;9:30:00&quot; /> </TravelItenerary>
  • 16. XAML uses namespaces for extensions - xmlns:… Markup Extensions Used in Attribute Values to set values that aren't settable via type converters XAML Language {x:Null} {x:Static Class.Member} {x:Type wpf:Button} WPF Class Library {Binding …}, {StaticResource …}, {DynamicResource …}, etc…
  • 17. How they make our live easier? WTF 4 WPF Engines
  • 18. Routed Events Nothing new, but nice refreshment – regular .NET events extension Can be created, changed and called Can have one of following strategies Direct Bubbling Tunneling
  • 19. Commands Command = Action Command != Action logic Can be executed from different places Can have different behaviors for different targets You have some ready made and can create your own Can have constraints
  • 20. Data Binding WPF understands your data use your favorite data model: XML, objects, SQL, WS … Bind data to controls Templates give your data a face Controls “think” data Data is pervasive across and integrated into the platform
  • 21. Data Binding Target Any property, any element Source CLR Object WPF Element ADO.NET XML Dynamic INotifyPropertyChanged, DependencyProperty or PropertyDescriptor Multiple models One Time One Way Two Way Value Converter Control “ Data Item” Property Property Binding
  • 22. Styles A style is a way to change visual representation of control, by using a set of properties Styles make your application to looks fun, without changing its logic The separation of the presentation and logic allows designers and programmers to work simultaneously
  • 23. Templates Templates are not styles, but might include Templates is the way to change control’s behaviors Templates is the way to change data representation Templates are resources, thus might be loaded externally
  • 24. Control Templates Controls have separated appearance and behavior Control template = way to change behavior Control appearance is the Cheshire Cat and set by styles   You do not need custom controls, unless you have something new to do
  • 25. Data Templates Make you data visible Data Template is the way to definevisual structure of a data object Data Template useable aside with binding Don’t build views for displaying data, let the data to build the view Might be recursive
  • 26. What’s going on over designer’s scheme? WTF 5 Expression
  • 27. Expression Blend Expression Blend is a design tool Expression Blend provides tools for Vector and bitmap based graphics 3D, Animation Rich Controls, Text Documents and more. Share results with Developers who use Visual Studio to add C# or VB code and assemble the final experience.
  • 28.  
  • 29. Expression Design Expression Design is even more design tool Expression Design provides tools for Professional and highly creative vector drawing Transformation and effect features An reliable XAML Exporter to convert design elements into XAML Share results with Designer who use Expression Blend to add elements into layout and final markup
  • 30.  
  • 31. Expression Media and Web Expression Web Build websites using XHTML, ASP.NET, CSS, XML, etc. Expression Media Digital Asset Management and Cataloguing tool for arrangement of large amount of rich media types into logical categories. Expression Studio contains of them all
  • 32. WTF n - Where's the Food?
  • 33. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 06/07/09 © 2001-2007 Copyright Microsoft corporation
  翻译: