SlideShare a Scribd company logo
1 of 4
Download to read offline
ISSN: 2278 – 1323
                         International Journal of Advanced Research in Computer Engineering & Technology
                                                                             Volume 1, Issue 4, June 2012




            Application Development Using WPF
                      Shirish Patil, Sameer Soni, Pranali Dhete and Dr B.B. Meshram
                                              VJTI, Mumbai, India
                                         Email: shirishpatil7@gmail.com
                                              VJTI, Mumbai, India
                                        Email: pranali.dhete@gmail.com
                                              VJTI, Mumbai, India
                                        Email: soni.sameer88@gmail.com
ABSTRACT
The paper focuses on the application development using WPF. It covers the overall architecture of WPF.
The programming models of the WPF shows how code and XAML is separated and how XAML objects
can be accessed. We already have display technologies User32, GDI,GDI+,DirectX but still many
developers go for WPF because these display technologies have their own limitations, that are overcome
in WPF. Paper also focuses on hardware acceleration using WPF.

Keywords-- WPF, XAML, Display Technology, DirectX

              I.NTRODUCTION
Windows Presentation Foundation (WPF) is the
new presentation API in WinFX. WPF represents a
major step forward in User Interface technology.
WPF is a two and three dimensional graphics
engine. It has the all equivalent common user
controls like buttons, check boxes sliders etc. It has
fixed and flow format documents. WPF has all of
the capabilities of HTML and Flash. It has 2D and
3D vector graphics, animation, multimedia as well
data binding capabilities. WPF supports XAML,
XAML is a declarative XML-based language by
which user can define object and properties in
XML. XAML document is loaded by a XAML
parser. XAML parser instantiates objects and set
their properties. XAML describes objects,
properties and there relation in between them.
Using XAML, user can create any kind of objects
that means graphical or non-graphical. WPF parses
the XAML document and instantiates the objects
and creates the relation as defined by XAML. In
other words XAML is a XML document which
defines objects and properties and WPF loads this
document in actual memory.
                                                                        Fig. 1 Architecture of WPF
         II. ARCHITECTURE OF WPF
                                                             Above figure shows the overall architecture of
All WPF applications start with two threads, one             WPF. It has three major sections Presentation core,
for managing the UI and another background                   Presentation framework and Media Integration
thread for handling the rendering and repainting.            layer (milcore). Milcore is written in unmanaged
Rendering and repainting is managed by WPF                   code in order to enable tight integration with
itself. Fig 1. Shows the architecture of WPF.                DirectX. DirectX engine is responsible for all
                                                             display in WPF, allowing for efficient hardware
                                                             and software rendering.


                                                                                                           480

                                        All Rights Reserved © 2012 IJARCET
ISSN: 2278 – 1323
                         International Journal of Advanced Research in Computer Engineering & Technology
                                                                             Volume 1, Issue 4, June 2012


Managed Layer: - The public API exposed is only               script allowed in XAML only. Real applications
via this layer. Majority of WPF is in managed code.           require event handling, data access, calling
                                                              services, accessing files, etc., which require
Presentation Framework:- It holds the top level               programmatic code. Also user can embed C# or VB
WPF elements, including those that represents                 code in script blocks within XAML. It must
windows, controls, panels, styles etc. It also
                                                              compile into assembly. It provides Lose
implements the end user presentation feature
including time dependent, story based animations              IntelliSense, colour coding, and compile time
and data binding.                                             checking.

Presentation Core: Presentation Core provides a               Code Only:-In this model WPF objects are all
managed wrapper for MIL and implements the core               defined as .NET classes. Users can instantiate using
services for WPF such as UI Element and visual                a programming model similar to Windows Forms.
from which all shapes and controls derived in                 It is instructive for understanding WPF, not
Presentation Framework.                                       practical for real world development. It is not
                                                              productive. In this model design tools will all be
Windows Base:- Windows Base hold more basic                   based on XAML mark-up. Element hierarchy can
elements which are capable to be reused outside the
                                                              be more compactly and cleanly represented in
WPF environment like Dispatcher objects and
Dependency object.                                            XAML

                                                              XAML and Code :- XAML very expressive for
Unmanaged Layer:-This layer mainly consist of
milCore and windows code.                                     static layout of UI and initial configuration of
                                                              properties. It is human readable. It is easier for
milCore:- The composition engine is the native                tools to parse. Programmatic code needed for
component of WPF application. It is called as                 dynamic behaviour of applications.
Media Integration Layer. The purpose of the
milCore is to interface directly with DirecX and              XAML and Code Separation
provide basic support for 2D and 3D surface.It is
interface between DirectX and CLR.                            The most important features of WPF, separating the
                                                              XAML from the code to be handled. So designers
Windows Codes: Windows code is low level API                  can independently work on the presentation of the
which is used for imaging support in WPF                      application and developers can actually write the
applications like image processing, scaling etc. It           code logic independent of how the presentation is.
comprises of a number of codes which
encode/decodes images into vector graphics that
would be rendered into WPF screen

Core Operating System Layer

User32:- It decides which goes where on the
screen. It is the primary core API which every
application uses. User32 actually manages memory
and process separation.

DirectX: - As said previously WPF uses directX
internally. DirectX talks with drivers and renders
the content. DirectX is the low level API through
which WPF renders all graphics.
                                                                              Fig 2 XMAL code
     III. WPF PROGRAMMING MODEL

XAML only:-In this model user can load raw
XAML “pages” into Internet Explorer. No design
time compilation required. Limited set of
functionality is available. It supports static content,
data binding, and animations. No code behind or

                                                                                                             481

                                         All Rights Reserved © 2012 IJARCET
ISSN: 2278 – 1323
                       International Journal of Advanced Research in Computer Engineering & Technology
                                                                           Volume 1, Issue 4, June 2012


                                                               IV. WPF and Other Display Technologies

                                                                     We already have User32, GDI, GDI+,
                                                           DirectX but still we go for WPF because these
                                                           display technologies have their own limitations,
                                                           that limitations are overcome in WPF.

                                                           User32:- This provides the windows look and feel
                                                           for buttons and textboxes and other UI elements.
                                                           User32 lacked drawing capabilities.

             Fig 3 Code behind File                        GDI (Graphics device interface):- GDI not only
                                                           provided drawing capabilities but also provided a
Above is the code snippet, which shows a XAML              high level of abstraction on the hardware display.In
file and the code completely detached from the             other words it encapsulates all complexities of
XAML presentation.Number 1 indicates same class            hardware in the GDI API.
name i.e. MainWindow and number 2 indicates
same method name i.e. button1_Click. In order to           GDI+:- GDI+ which basically extends GDI and
associate a class with XAML file user need to              provides extra functionalities like jpg and PNG
specify the x: Class attribute. Any event specified        support, gradient shading and anti-aliasing. The
on the XAML object can be connected by defining            biggest issue with GDI API was it did not use
a method with sender and event values. User can            hardware acceleration and did not have animation
see from the above code snippet we have linked the         and 3D support.
MyClickEvent to an event in the behind code.

To access XAML objects in behind code user just            DirectX: - The issue of hardware acceleration is
need to define them with the same name as given in         solved in DirectX. DirectX exploited hardware
the XAML document. For instance in the below               acceleration, had support for 3D, full colour
code snippet we named the object as objtext and            graphics, media streaming facility and lot more.
the object is defined with the same name in the            This API no matured when it comes to gaming
behind code.                                               industry.

                                                           WPF: - WPF stands on the top of directX you can
                                                           not only build simple UI elements but also go one
                                                           step further and develop special UI elements like
                                                           Grid, Flow Document, and Ellipse. In other words
                                                           WPF is a wrapper which is built over DirectX. Still
                                                           for game development DirectX is used. But for
                                                           slight animation WPF is the best option.

                                                                 V. Hardware acceleration with WPF

                                                           Hardware acceleration is a process in which we use
                                                           hardware to perform some functions rather than
                                                           performing those functions using the software
                                                           which is running in the CPU. WPF exploits
                                                           hardware acceleration in a two tier manner.

                                                           WPF API first detects the level of hardware
                                                           acceleration using parameters like RAM of video
                                                           card, per pixel value etc. Depending on that it
                                                           either uses Tier 0, Tier 1 or Tier 2 Rendering mode.




         Fig 4 Accessing XAML object

                                                                                                          482

                                      All Rights Reserved © 2012 IJARCET
ISSN: 2278 – 1323
                        International Journal of Advanced Research in Computer Engineering & Technology
                                                                            Volume 1, Issue 4, June 2012


                                                                            VII.REFERENCES

                                                             [1]. G Trygve M. H. Reenskaug, “MVC XEROX
                                                            PARC1978-79”(undated).
                                                            http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-
                                                            index.html
                                                            [2]. Trygve Reenskaug - MODELS - VIEWS –
                                                            CONTROLLERS.
                                                            http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-
                                                            12-MVC.pdf
                                                            [3]. Introduction to WPF .NET Framework 4.
                                                            http://msdn.microsoft.com/en-
                                                            us/library/aa970268.aspx

                                                            [4]. XAML in WPF. http://msdn.microsoft.com/en-
                                                            us/library/ms747122.aspx
                                                            [5]. Introduction to Model/View/ViewModel
                                                            pattern for building WPF apps – John Gossman.
                                                            http://blogs.msdn.com/b/johngossman/archive/2005
                                                            /10/08/478683.aspx
                                                            [6]. Steve Burbeck, “Applications Programming in
                                                            Smalltalk-80(TM): How to use Model-View-
      Fig. 5 Hardware acceleration in WPF                   Controller (MVC)”, March 4, 1997.
                                                            http://st-
Tier 0:- If the video card does not support hardware        www.cs.illinois.edu/users/smarch/stdocs/mvc.html
acceleration then WPF uses Tier 0 rendering mode.           [7] Mike Potel, “MVP: Model-View-Presenter The
In other words it uses software acceleration. This          Taligent Programming Model for C++ and Java”.
corresponds to working of DirectX version less              TaligentInc1996.
than 7.0.                                                   http://www.wildcrest.com/Potel/Portfolio/mvp.pdf
                                                            [8].Microsoft Corporation. “Model View Presentter
Tier 1:- If the video card supports partial hardware        Pattern” (undated).
acceleration then WPF uses Tier 1 rendering mode.
                                                            http://msdn.microsoft.com/en-
This corresponds to working of DirectX version
between             7.0          And             9.0.       us/library/cc304760.aspx
                                                            [9]. Microsoft Corporation, “Introducing Windows
Tier 2:- If the video card supports hardware                Presentation Foundation” (undated).
acceleration then WPF uses Tier 2 rendering mode.           http://msdn.microsoft.com/enus/library/aa663364.a
This corresponds to working of DirectX version              spx
equal or greater than 9.0.                                  [10]. Microsoft Corporation, “XAML Overview”
                                                            (undated).
                VI.CONCLUSION
                                                            http://msdn.microsoft.com/en-
                                                            us/library/ms752059.aspx
 Paper describes the overall architecture of WPF.
How code is separated from XAML. Programming                [11]. Arlen Feldman, Maxx Daymon, “WPF in
model shows separation of code behind and                   Action with Visual Studio 2008”. Manning
XAML, which is very useful for the WPF                      Publications Co, 2009, pp 283-285.
developers. Paper shows how WPF is better than              [12]. Flexible GUI in Robotics Applications Using
other display technologies.WPF has the ability to           Windows Presentation Foundation Framework and
make very rich UIs. Using WPF to achieve                    Model View ViewModel Pattern - Fran Jarnjak,
animation and special effects are easier. Hardware
                                                            IEEE 2010
acceleration is better as compared to other display
technologies.                                               [13]. Ergonomics Research and CNC machine tools
                                                            in the interface design of the application - IEEE
                                                            2008



                                                                                                         483

                                       All Rights Reserved © 2012 IJARCET

More Related Content

What's hot

Online lg prodect
Online lg prodectOnline lg prodect
Online lg prodectYesu Raj
 
Fun with Flutter
Fun with FlutterFun with Flutter
Fun with Flutterijtsrd
 
An brief introduction to android operating system
An brief introduction to android operating systemAn brief introduction to android operating system
An brief introduction to android operating systemAlexander Decker
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformIOSR Journals
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of androidakila_mano
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416zxdrtyu
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Wambua Wambua
 
Mobile Application Development MAD J2ME
Mobile Application Development  MAD J2MEMobile Application Development  MAD J2ME
Mobile Application Development MAD J2MEPallepati Vasavi
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
A Project Report on Insurance System with Tracking Manager
 A Project Report on Insurance System with Tracking Manager  A Project Report on Insurance System with Tracking Manager
A Project Report on Insurance System with Tracking Manager Sachin Kariyattin
 
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRTITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRTITCamp
 

What's hot (20)

Java Programming : introduction
Java Programming : introductionJava Programming : introduction
Java Programming : introduction
 
Online lg prodect
Online lg prodectOnline lg prodect
Online lg prodect
 
Fun with Flutter
Fun with FlutterFun with Flutter
Fun with Flutter
 
6
66
6
 
Ebook c sharp_2008
Ebook c sharp_2008Ebook c sharp_2008
Ebook c sharp_2008
 
An brief introduction to android operating system
An brief introduction to android operating systemAn brief introduction to android operating system
An brief introduction to android operating system
 
J2ME Unit_01
J2ME Unit_01J2ME Unit_01
J2ME Unit_01
 
J2ME
J2MEJ2ME
J2ME
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile Platform
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
Mobile Application Development MAD J2ME
Mobile Application Development  MAD J2MEMobile Application Development  MAD J2ME
Mobile Application Development MAD J2ME
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
CV_Prathap (1)
CV_Prathap (1)CV_Prathap (1)
CV_Prathap (1)
 
06 gui 08
06 gui 0806 gui 08
06 gui 08
 
26 standards
26 standards26 standards
26 standards
 
A Project Report on Insurance System with Tracking Manager
 A Project Report on Insurance System with Tracking Manager  A Project Report on Insurance System with Tracking Manager
A Project Report on Insurance System with Tracking Manager
 
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRTITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
 

Viewers also liked (19)

525 529
525 529525 529
525 529
 
Rapid disclosure of_clients_spot_witg_the_help_of_location_based_services
Rapid disclosure of_clients_spot_witg_the_help_of_location_based_servicesRapid disclosure of_clients_spot_witg_the_help_of_location_based_services
Rapid disclosure of_clients_spot_witg_the_help_of_location_based_services
 
307 312
307 312307 312
307 312
 
450 455
450 455450 455
450 455
 
395 404
395 404395 404
395 404
 
285 290
285 290285 290
285 290
 
38 41
38 4138 41
38 41
 
Eric T
Eric  TEric  T
Eric T
 
Climate Change
Climate ChangeClimate Change
Climate Change
 
575 579
575 579575 579
575 579
 
230 233
230 233230 233
230 233
 
115 118
115 118115 118
115 118
 
643 648
643 648643 648
643 648
 
388 394
388 394388 394
388 394
 
280 284
280 284280 284
280 284
 
306 310
306 310306 310
306 310
 
Volume 2-issue-6-1939-1944
Volume 2-issue-6-1939-1944Volume 2-issue-6-1939-1944
Volume 2-issue-6-1939-1944
 
1820 1824
1820 18241820 1824
1820 1824
 
Ijarcet vol-2-issue-3-947-950
Ijarcet vol-2-issue-3-947-950Ijarcet vol-2-issue-3-947-950
Ijarcet vol-2-issue-3-947-950
 

Similar to 480 483

Dot Net Project Mini Game
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Gamevarun arora
 
Comparison of ESP programming platforms
Comparison of ESP programming platformsComparison of ESP programming platforms
Comparison of ESP programming platformsCSITiaesprime
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
Vb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netVb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netbantamlak dejene
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versionsijtsrd
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworksnawal saad
 
Java Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage EssayJava Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage EssayLiz Sims
 
Getting started with android
Getting started with androidGetting started with android
Getting started with androidamitgb
 
Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidABHISHEK DINKAR
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsShashank Banerjea
 
Introduction to WPF
Introduction to WPFIntroduction to WPF
Introduction to WPFMunish Arora
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application Dharmendra Sid
 

Similar to 480 483 (20)

WPF
WPFWPF
WPF
 
Mca 504 dotnet_unit1
Mca 504 dotnet_unit1Mca 504 dotnet_unit1
Mca 504 dotnet_unit1
 
Dot Net Project Mini Game
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Game
 
Comparison of ESP programming platforms
Comparison of ESP programming platformsComparison of ESP programming platforms
Comparison of ESP programming platforms
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Vb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netVb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.net
 
WPF
WPFWPF
WPF
 
introduction to .net
introduction to .netintroduction to .net
introduction to .net
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versions
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
Introduction to wpf
Introduction to wpfIntroduction to wpf
Introduction to wpf
 
Android
AndroidAndroid
Android
 
Java Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage EssayJava Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage Essay
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In Android
 
Android
AndroidAndroid
Android
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
Introduction to WPF
Introduction to WPFIntroduction to WPF
Introduction to WPF
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
 

More from Editor IJARCET

Electrically small antennas: The art of miniaturization
Electrically small antennas: The art of miniaturizationElectrically small antennas: The art of miniaturization
Electrically small antennas: The art of miniaturizationEditor IJARCET
 
Volume 2-issue-6-2205-2207
Volume 2-issue-6-2205-2207Volume 2-issue-6-2205-2207
Volume 2-issue-6-2205-2207Editor IJARCET
 
Volume 2-issue-6-2195-2199
Volume 2-issue-6-2195-2199Volume 2-issue-6-2195-2199
Volume 2-issue-6-2195-2199Editor IJARCET
 
Volume 2-issue-6-2200-2204
Volume 2-issue-6-2200-2204Volume 2-issue-6-2200-2204
Volume 2-issue-6-2200-2204Editor IJARCET
 
Volume 2-issue-6-2190-2194
Volume 2-issue-6-2190-2194Volume 2-issue-6-2190-2194
Volume 2-issue-6-2190-2194Editor IJARCET
 
Volume 2-issue-6-2186-2189
Volume 2-issue-6-2186-2189Volume 2-issue-6-2186-2189
Volume 2-issue-6-2186-2189Editor IJARCET
 
Volume 2-issue-6-2177-2185
Volume 2-issue-6-2177-2185Volume 2-issue-6-2177-2185
Volume 2-issue-6-2177-2185Editor IJARCET
 
Volume 2-issue-6-2173-2176
Volume 2-issue-6-2173-2176Volume 2-issue-6-2173-2176
Volume 2-issue-6-2173-2176Editor IJARCET
 
Volume 2-issue-6-2165-2172
Volume 2-issue-6-2165-2172Volume 2-issue-6-2165-2172
Volume 2-issue-6-2165-2172Editor IJARCET
 
Volume 2-issue-6-2159-2164
Volume 2-issue-6-2159-2164Volume 2-issue-6-2159-2164
Volume 2-issue-6-2159-2164Editor IJARCET
 
Volume 2-issue-6-2155-2158
Volume 2-issue-6-2155-2158Volume 2-issue-6-2155-2158
Volume 2-issue-6-2155-2158Editor IJARCET
 
Volume 2-issue-6-2148-2154
Volume 2-issue-6-2148-2154Volume 2-issue-6-2148-2154
Volume 2-issue-6-2148-2154Editor IJARCET
 
Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Editor IJARCET
 
Volume 2-issue-6-2119-2124
Volume 2-issue-6-2119-2124Volume 2-issue-6-2119-2124
Volume 2-issue-6-2119-2124Editor IJARCET
 
Volume 2-issue-6-2139-2142
Volume 2-issue-6-2139-2142Volume 2-issue-6-2139-2142
Volume 2-issue-6-2139-2142Editor IJARCET
 
Volume 2-issue-6-2130-2138
Volume 2-issue-6-2130-2138Volume 2-issue-6-2130-2138
Volume 2-issue-6-2130-2138Editor IJARCET
 
Volume 2-issue-6-2125-2129
Volume 2-issue-6-2125-2129Volume 2-issue-6-2125-2129
Volume 2-issue-6-2125-2129Editor IJARCET
 
Volume 2-issue-6-2114-2118
Volume 2-issue-6-2114-2118Volume 2-issue-6-2114-2118
Volume 2-issue-6-2114-2118Editor IJARCET
 
Volume 2-issue-6-2108-2113
Volume 2-issue-6-2108-2113Volume 2-issue-6-2108-2113
Volume 2-issue-6-2108-2113Editor IJARCET
 
Volume 2-issue-6-2102-2107
Volume 2-issue-6-2102-2107Volume 2-issue-6-2102-2107
Volume 2-issue-6-2102-2107Editor IJARCET
 

More from Editor IJARCET (20)

Electrically small antennas: The art of miniaturization
Electrically small antennas: The art of miniaturizationElectrically small antennas: The art of miniaturization
Electrically small antennas: The art of miniaturization
 
Volume 2-issue-6-2205-2207
Volume 2-issue-6-2205-2207Volume 2-issue-6-2205-2207
Volume 2-issue-6-2205-2207
 
Volume 2-issue-6-2195-2199
Volume 2-issue-6-2195-2199Volume 2-issue-6-2195-2199
Volume 2-issue-6-2195-2199
 
Volume 2-issue-6-2200-2204
Volume 2-issue-6-2200-2204Volume 2-issue-6-2200-2204
Volume 2-issue-6-2200-2204
 
Volume 2-issue-6-2190-2194
Volume 2-issue-6-2190-2194Volume 2-issue-6-2190-2194
Volume 2-issue-6-2190-2194
 
Volume 2-issue-6-2186-2189
Volume 2-issue-6-2186-2189Volume 2-issue-6-2186-2189
Volume 2-issue-6-2186-2189
 
Volume 2-issue-6-2177-2185
Volume 2-issue-6-2177-2185Volume 2-issue-6-2177-2185
Volume 2-issue-6-2177-2185
 
Volume 2-issue-6-2173-2176
Volume 2-issue-6-2173-2176Volume 2-issue-6-2173-2176
Volume 2-issue-6-2173-2176
 
Volume 2-issue-6-2165-2172
Volume 2-issue-6-2165-2172Volume 2-issue-6-2165-2172
Volume 2-issue-6-2165-2172
 
Volume 2-issue-6-2159-2164
Volume 2-issue-6-2159-2164Volume 2-issue-6-2159-2164
Volume 2-issue-6-2159-2164
 
Volume 2-issue-6-2155-2158
Volume 2-issue-6-2155-2158Volume 2-issue-6-2155-2158
Volume 2-issue-6-2155-2158
 
Volume 2-issue-6-2148-2154
Volume 2-issue-6-2148-2154Volume 2-issue-6-2148-2154
Volume 2-issue-6-2148-2154
 
Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147
 
Volume 2-issue-6-2119-2124
Volume 2-issue-6-2119-2124Volume 2-issue-6-2119-2124
Volume 2-issue-6-2119-2124
 
Volume 2-issue-6-2139-2142
Volume 2-issue-6-2139-2142Volume 2-issue-6-2139-2142
Volume 2-issue-6-2139-2142
 
Volume 2-issue-6-2130-2138
Volume 2-issue-6-2130-2138Volume 2-issue-6-2130-2138
Volume 2-issue-6-2130-2138
 
Volume 2-issue-6-2125-2129
Volume 2-issue-6-2125-2129Volume 2-issue-6-2125-2129
Volume 2-issue-6-2125-2129
 
Volume 2-issue-6-2114-2118
Volume 2-issue-6-2114-2118Volume 2-issue-6-2114-2118
Volume 2-issue-6-2114-2118
 
Volume 2-issue-6-2108-2113
Volume 2-issue-6-2108-2113Volume 2-issue-6-2108-2113
Volume 2-issue-6-2108-2113
 
Volume 2-issue-6-2102-2107
Volume 2-issue-6-2102-2107Volume 2-issue-6-2102-2107
Volume 2-issue-6-2102-2107
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

480 483

  • 1. ISSN: 2278 – 1323 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 4, June 2012 Application Development Using WPF Shirish Patil, Sameer Soni, Pranali Dhete and Dr B.B. Meshram VJTI, Mumbai, India Email: shirishpatil7@gmail.com VJTI, Mumbai, India Email: pranali.dhete@gmail.com VJTI, Mumbai, India Email: soni.sameer88@gmail.com ABSTRACT The paper focuses on the application development using WPF. It covers the overall architecture of WPF. The programming models of the WPF shows how code and XAML is separated and how XAML objects can be accessed. We already have display technologies User32, GDI,GDI+,DirectX but still many developers go for WPF because these display technologies have their own limitations, that are overcome in WPF. Paper also focuses on hardware acceleration using WPF. Keywords-- WPF, XAML, Display Technology, DirectX I.NTRODUCTION Windows Presentation Foundation (WPF) is the new presentation API in WinFX. WPF represents a major step forward in User Interface technology. WPF is a two and three dimensional graphics engine. It has the all equivalent common user controls like buttons, check boxes sliders etc. It has fixed and flow format documents. WPF has all of the capabilities of HTML and Flash. It has 2D and 3D vector graphics, animation, multimedia as well data binding capabilities. WPF supports XAML, XAML is a declarative XML-based language by which user can define object and properties in XML. XAML document is loaded by a XAML parser. XAML parser instantiates objects and set their properties. XAML describes objects, properties and there relation in between them. Using XAML, user can create any kind of objects that means graphical or non-graphical. WPF parses the XAML document and instantiates the objects and creates the relation as defined by XAML. In other words XAML is a XML document which defines objects and properties and WPF loads this document in actual memory. Fig. 1 Architecture of WPF II. ARCHITECTURE OF WPF Above figure shows the overall architecture of All WPF applications start with two threads, one WPF. It has three major sections Presentation core, for managing the UI and another background Presentation framework and Media Integration thread for handling the rendering and repainting. layer (milcore). Milcore is written in unmanaged Rendering and repainting is managed by WPF code in order to enable tight integration with itself. Fig 1. Shows the architecture of WPF. DirectX. DirectX engine is responsible for all display in WPF, allowing for efficient hardware and software rendering. 480 All Rights Reserved © 2012 IJARCET
  • 2. ISSN: 2278 – 1323 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 4, June 2012 Managed Layer: - The public API exposed is only script allowed in XAML only. Real applications via this layer. Majority of WPF is in managed code. require event handling, data access, calling services, accessing files, etc., which require Presentation Framework:- It holds the top level programmatic code. Also user can embed C# or VB WPF elements, including those that represents code in script blocks within XAML. It must windows, controls, panels, styles etc. It also compile into assembly. It provides Lose implements the end user presentation feature including time dependent, story based animations IntelliSense, colour coding, and compile time and data binding. checking. Presentation Core: Presentation Core provides a Code Only:-In this model WPF objects are all managed wrapper for MIL and implements the core defined as .NET classes. Users can instantiate using services for WPF such as UI Element and visual a programming model similar to Windows Forms. from which all shapes and controls derived in It is instructive for understanding WPF, not Presentation Framework. practical for real world development. It is not productive. In this model design tools will all be Windows Base:- Windows Base hold more basic based on XAML mark-up. Element hierarchy can elements which are capable to be reused outside the be more compactly and cleanly represented in WPF environment like Dispatcher objects and Dependency object. XAML XAML and Code :- XAML very expressive for Unmanaged Layer:-This layer mainly consist of milCore and windows code. static layout of UI and initial configuration of properties. It is human readable. It is easier for milCore:- The composition engine is the native tools to parse. Programmatic code needed for component of WPF application. It is called as dynamic behaviour of applications. Media Integration Layer. The purpose of the milCore is to interface directly with DirecX and XAML and Code Separation provide basic support for 2D and 3D surface.It is interface between DirectX and CLR. The most important features of WPF, separating the XAML from the code to be handled. So designers Windows Codes: Windows code is low level API can independently work on the presentation of the which is used for imaging support in WPF application and developers can actually write the applications like image processing, scaling etc. It code logic independent of how the presentation is. comprises of a number of codes which encode/decodes images into vector graphics that would be rendered into WPF screen Core Operating System Layer User32:- It decides which goes where on the screen. It is the primary core API which every application uses. User32 actually manages memory and process separation. DirectX: - As said previously WPF uses directX internally. DirectX talks with drivers and renders the content. DirectX is the low level API through which WPF renders all graphics. Fig 2 XMAL code III. WPF PROGRAMMING MODEL XAML only:-In this model user can load raw XAML “pages” into Internet Explorer. No design time compilation required. Limited set of functionality is available. It supports static content, data binding, and animations. No code behind or 481 All Rights Reserved © 2012 IJARCET
  • 3. ISSN: 2278 – 1323 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 4, June 2012 IV. WPF and Other Display Technologies We already have User32, GDI, GDI+, DirectX but still we go for WPF because these display technologies have their own limitations, that limitations are overcome in WPF. User32:- This provides the windows look and feel for buttons and textboxes and other UI elements. User32 lacked drawing capabilities. Fig 3 Code behind File GDI (Graphics device interface):- GDI not only provided drawing capabilities but also provided a Above is the code snippet, which shows a XAML high level of abstraction on the hardware display.In file and the code completely detached from the other words it encapsulates all complexities of XAML presentation.Number 1 indicates same class hardware in the GDI API. name i.e. MainWindow and number 2 indicates same method name i.e. button1_Click. In order to GDI+:- GDI+ which basically extends GDI and associate a class with XAML file user need to provides extra functionalities like jpg and PNG specify the x: Class attribute. Any event specified support, gradient shading and anti-aliasing. The on the XAML object can be connected by defining biggest issue with GDI API was it did not use a method with sender and event values. User can hardware acceleration and did not have animation see from the above code snippet we have linked the and 3D support. MyClickEvent to an event in the behind code. To access XAML objects in behind code user just DirectX: - The issue of hardware acceleration is need to define them with the same name as given in solved in DirectX. DirectX exploited hardware the XAML document. For instance in the below acceleration, had support for 3D, full colour code snippet we named the object as objtext and graphics, media streaming facility and lot more. the object is defined with the same name in the This API no matured when it comes to gaming behind code. industry. WPF: - WPF stands on the top of directX you can not only build simple UI elements but also go one step further and develop special UI elements like Grid, Flow Document, and Ellipse. In other words WPF is a wrapper which is built over DirectX. Still for game development DirectX is used. But for slight animation WPF is the best option. V. Hardware acceleration with WPF Hardware acceleration is a process in which we use hardware to perform some functions rather than performing those functions using the software which is running in the CPU. WPF exploits hardware acceleration in a two tier manner. WPF API first detects the level of hardware acceleration using parameters like RAM of video card, per pixel value etc. Depending on that it either uses Tier 0, Tier 1 or Tier 2 Rendering mode. Fig 4 Accessing XAML object 482 All Rights Reserved © 2012 IJARCET
  • 4. ISSN: 2278 – 1323 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 4, June 2012 VII.REFERENCES [1]. G Trygve M. H. Reenskaug, “MVC XEROX PARC1978-79”(undated). http://heim.ifi.uio.no/~trygver/themes/mvc/mvc- index.html [2]. Trygve Reenskaug - MODELS - VIEWS – CONTROLLERS. http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979- 12-MVC.pdf [3]. Introduction to WPF .NET Framework 4. http://msdn.microsoft.com/en- us/library/aa970268.aspx [4]. XAML in WPF. http://msdn.microsoft.com/en- us/library/ms747122.aspx [5]. Introduction to Model/View/ViewModel pattern for building WPF apps – John Gossman. http://blogs.msdn.com/b/johngossman/archive/2005 /10/08/478683.aspx [6]. Steve Burbeck, “Applications Programming in Smalltalk-80(TM): How to use Model-View- Fig. 5 Hardware acceleration in WPF Controller (MVC)”, March 4, 1997. http://st- Tier 0:- If the video card does not support hardware www.cs.illinois.edu/users/smarch/stdocs/mvc.html acceleration then WPF uses Tier 0 rendering mode. [7] Mike Potel, “MVP: Model-View-Presenter The In other words it uses software acceleration. This Taligent Programming Model for C++ and Java”. corresponds to working of DirectX version less TaligentInc1996. than 7.0. http://www.wildcrest.com/Potel/Portfolio/mvp.pdf [8].Microsoft Corporation. “Model View Presentter Tier 1:- If the video card supports partial hardware Pattern” (undated). acceleration then WPF uses Tier 1 rendering mode. http://msdn.microsoft.com/en- This corresponds to working of DirectX version between 7.0 And 9.0. us/library/cc304760.aspx [9]. Microsoft Corporation, “Introducing Windows Tier 2:- If the video card supports hardware Presentation Foundation” (undated). acceleration then WPF uses Tier 2 rendering mode. http://msdn.microsoft.com/enus/library/aa663364.a This corresponds to working of DirectX version spx equal or greater than 9.0. [10]. Microsoft Corporation, “XAML Overview” (undated). VI.CONCLUSION http://msdn.microsoft.com/en- us/library/ms752059.aspx Paper describes the overall architecture of WPF. How code is separated from XAML. Programming [11]. Arlen Feldman, Maxx Daymon, “WPF in model shows separation of code behind and Action with Visual Studio 2008”. Manning XAML, which is very useful for the WPF Publications Co, 2009, pp 283-285. developers. Paper shows how WPF is better than [12]. Flexible GUI in Robotics Applications Using other display technologies.WPF has the ability to Windows Presentation Foundation Framework and make very rich UIs. Using WPF to achieve Model View ViewModel Pattern - Fran Jarnjak, animation and special effects are easier. Hardware IEEE 2010 acceleration is better as compared to other display technologies. [13]. Ergonomics Research and CNC machine tools in the interface design of the application - IEEE 2008 483 All Rights Reserved © 2012 IJARCET