SlideShare una empresa de Scribd logo
1 de 20
Mustaţă Bogdan
      RomSoft
      July 2009
Agenda
 Intro
     Why WPF?
     Tools (MS Expression, MS Blend, MS Design)
     XAML
 Concepts:
     Logical and visual tree + Demo
     Dependency properties + Demo
     Layout and panels + Demo
 Discussions:
     Tools and Toolkits
     Silverlight vs WPF
     Silverlight power
     Questions
Why WPF?
Broad integration
(3D/2D/video/speech/rich document)
Resolution independence
Hardware acceleration
(It is built on top of Direct3D)
Declarative programming
(Extensible Application Markup Language - XAML)
Rich composition and customization
Easy deployment
(ClickOnce, Silverlight)
Why WPF? - The real reason


                               Vanity Kodak
                               1928




                                iPod Mini
                                2003




  Return on Experience – By Design
Tools (MS Expression)




                                                       …
http://www.microsoft.com/expression/   Blend   Desig
                                               n
XAML
XAML is a new Extensible Application Markup Language
and is important in integrating graphic designers into the
development process but not only.

Futures:
   Most concise way to represent user interfaces or other
   hierarchies of objects
   Encourages a separation of logic layer from the presentation
   layer
   The commune language that almost all WPF-related tools
   use and understand
   XML-based language
XAML
Concepts - Logical and visual
tree
User interface because of its hierarchical nature in
WPF is constructed from tree elements of objects
known as a logical tree elements.
Window element is the root of logical tree.
Every aspect of WPF (properties, events, resources,
and so on) is tied to the logical tree.
A visual tree is basically an expansion of a
logical tree, in which nodes are broken down into
their core visual components.
Tools for investigation
Snoop                                       Mole

Little project is Snoop, a Spy++ like       Mole is a Visual Studio visualizer.
utility for WPF applications, but cooler.   Visualizers have been part of Visual
                                            Studio since version 2005.
Futures:
    Browse the visual tree of running       Futures:
    WPF applications.                            Lightning fast performance is
    Inspect properties of elements at            realized by using a multi-
    runtime.                                     threaded, lazy-loaded
    Edit properties of elements at               architecture for passing data
    runtime.                                     between processes.
    Inspect RoutedEvents that are                View application UI elements in a
    occurring, including the elements            TreeView control.
    that handle them.                            Editing of properties in all project
    Magnify sections of the UI.                  types
    Find and debug binding errors.               Multi-level drilling into objects and
                                                 child objects, viewing any of their
                                                 data.
http://blois.us/Snoop/                      http://karlshifflett.wordpress.
                                            com/mole-for-visual-studio/
Demo 1 & Discussions
Concepts - Dependency
properties
A new type of property called a dependency
property.

Futures:
  Change notification
  Property value inheritance
  Support for multiple providers
  XAML

Button has 96 public properties
Concepts - Dependency
properties
Evaluate multiple providers:




Attached Properties:
An attached property is a special form of dependency
property that can effectively be attached to arbitrary
objects.
Demo 2 & Discussions
Concepts - Layout and panels
            Freezable—The base class for objects that
            can be “frozen” into a read-only state for
            performance reasons.

            Visual—The base class for all objects that
            have their own visual representation.

            UIElement—The base class for all visual
            objects with support for routed events,
            command binding, layout, and focus.

                                        ContentElement
                       A base class similar to UIElement,
                            but for pieces of content that
                                     don’t have rendering
                                   behavior on their own.
Concepts - Layout and panels
Sizing, Positioning (HTML-CSS || XAML)

Layout:
  Canvas
  StackPanel
  WrapPanel
  DockPanel
  Grid

(Visual Studio and Expression Blend use
Grid by default for their projects)
Demo 3 & Discussions
Tools and Toolkits
WFP Toolkit – June 2009
The WPF Toolkit is collection of WPF features and components that are being made
available outside of the normal .NET Framework ship cycle
http://www.codeplex.com/wpf

     Components in the Stable Quality Band
        DataGrid
        DatePicker
        Calendar
        VisualStateManager
     Components in the Preview Quality Band
        Chart Controls


Silverlight Toolkit (Silverlight 2&3) – July 2009
The Silverlight Toolkit is a collection of Silverlight controls, components and utilities made
available outside the normal Silverlight release cycle.
http://www.codeplex.com/Silverlight
Silverlight vs WPF
Main differences:
  No full keyboard and mouse events support
  Only WCF BasicHttpBinding and
  PollingDuplexHttpBinding in Silverlight
  Silverlight can only make asynchronous network
  calls
  Limited collections and generic in Silverlight



Download: [2MB – PDF]
http://wpfslguidance.codeplex.com/
Silverlight power




    http://deepzoom.soulclients.com/osm/
WPF – Intro
             Questions
Mustaţă Bogdan
mustata.bogdan@rms.ro

Más contenido relacionado

La actualidad más candente

Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...AIP Foundation
 
Advanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAdvanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAnt Phillips
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerAnt Phillips
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA PlexCM First Group
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsJean Vanderdonckt
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientCM First Group
 

La actualidad más candente (13)

Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
 
Advanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAdvanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message Broker
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message Broker
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
 
Building RIA Apps with Silverlight
Building RIA Apps with SilverlightBuilding RIA Apps with Silverlight
Building RIA Apps with Silverlight
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClient
 
Sunstate
SunstateSunstate
Sunstate
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
Silverlight
SilverlightSilverlight
Silverlight
 

Destacado

Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with AzureBogdan Mustata
 
Data storage for the cloud ce11
Data storage for the cloud ce11Data storage for the cloud ce11
Data storage for the cloud ce11aseager
 
Cloud slam pa2 ericsson
Cloud slam pa2 ericssonCloud slam pa2 ericsson
Cloud slam pa2 ericssonsapenov
 
Data storage in the Cloud
Data storage in the CloudData storage in the Cloud
Data storage in the CloudBogdan Mustata
 
Data storage in Cloud computing
Data storage in Cloud computingData storage in Cloud computing
Data storage in Cloud computingDong Yuan
 
Poster of Robo Sumo workshop09
Poster of Robo Sumo workshop09Poster of Robo Sumo workshop09
Poster of Robo Sumo workshop09Prashant Agrawal
 
Maria Rossannah Mendoza Abaño.docx
Maria Rossannah Mendoza Abaño.docxMaria Rossannah Mendoza Abaño.docx
Maria Rossannah Mendoza Abaño.docxMaria Abaño
 
заліковий зошит для 6 класуdocx
заліковий зошит для 6 класуdocxзаліковий зошит для 6 класуdocx
заліковий зошит для 6 класуdocxGaluna Goncharyk
 
LinkedIn Bibliography 20151117
LinkedIn Bibliography 20151117LinkedIn Bibliography 20151117
LinkedIn Bibliography 20151117Eric Claeyssen
 
VISIONROBO Robotics Workshop Brochure
VISIONROBO Robotics Workshop BrochureVISIONROBO Robotics Workshop Brochure
VISIONROBO Robotics Workshop BrochureMayur Agarwal
 
POLÍTICA ECONÓMICA
POLÍTICA ECONÓMICAPOLÍTICA ECONÓMICA
POLÍTICA ECONÓMICAYazmín Byz
 

Destacado (14)

Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with Azure
 
Data storage for the cloud ce11
Data storage for the cloud ce11Data storage for the cloud ce11
Data storage for the cloud ce11
 
Cloud slam pa2 ericsson
Cloud slam pa2 ericssonCloud slam pa2 ericsson
Cloud slam pa2 ericsson
 
Data storage in the Cloud
Data storage in the CloudData storage in the Cloud
Data storage in the Cloud
 
Data storage in Cloud computing
Data storage in Cloud computingData storage in Cloud computing
Data storage in Cloud computing
 
PCA Resume Poster 2016
PCA Resume Poster 2016PCA Resume Poster 2016
PCA Resume Poster 2016
 
Poster of Robo Sumo workshop09
Poster of Robo Sumo workshop09Poster of Robo Sumo workshop09
Poster of Robo Sumo workshop09
 
Maria Rossannah Mendoza Abaño.docx
Maria Rossannah Mendoza Abaño.docxMaria Rossannah Mendoza Abaño.docx
Maria Rossannah Mendoza Abaño.docx
 
I am the wind
I am the windI am the wind
I am the wind
 
2º week
2º week2º week
2º week
 
заліковий зошит для 6 класуdocx
заліковий зошит для 6 класуdocxзаліковий зошит для 6 класуdocx
заліковий зошит для 6 класуdocx
 
LinkedIn Bibliography 20151117
LinkedIn Bibliography 20151117LinkedIn Bibliography 20151117
LinkedIn Bibliography 20151117
 
VISIONROBO Robotics Workshop Brochure
VISIONROBO Robotics Workshop BrochureVISIONROBO Robotics Workshop Brochure
VISIONROBO Robotics Workshop Brochure
 
POLÍTICA ECONÓMICA
POLÍTICA ECONÓMICAPOLÍTICA ECONÓMICA
POLÍTICA ECONÓMICA
 

Similar a WPF Intro

Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlAbhishek Sur
 
Windows presentation foundation (wpf) and infragistics
Windows presentation foundation (wpf) and infragisticsWindows presentation foundation (wpf) and infragistics
Windows presentation foundation (wpf) and infragisticschoprasagar
 
Silverlight difference faqs- 2
Silverlight difference faqs- 2Silverlight difference faqs- 2
Silverlight difference faqs- 2Umar Ali
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlightparallelminder
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 DavidRohit Ray
 
Building Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) ApplicationBuilding Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) Applicationssusere19c741
 
Building Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) ApplicationBuilding Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) Applicationssusere19c741
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternDerek Novavi
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them AllFrank La Vigne
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java DevelopersMike Wolfson
 
History of silverlight versions and its features
History of silverlight versions and its featuresHistory of silverlight versions and its features
History of silverlight versions and its featuresDiya Singh
 
Drupal Recipe
Drupal RecipeDrupal Recipe
Drupal Recipehernanibf
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...Fwdays
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by SubodhSubodh Pushpak
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integrationicaraion
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationBoulos Dib
 
Wpf Under The Hood Engines
Wpf Under The Hood EnginesWpf Under The Hood Engines
Wpf Under The Hood EnginesTamir Khason
 

Similar a WPF Intro (20)

Framework
FrameworkFramework
Framework
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI Control
 
Windows presentation foundation (wpf) and infragistics
Windows presentation foundation (wpf) and infragisticsWindows presentation foundation (wpf) and infragistics
Windows presentation foundation (wpf) and infragistics
 
Silverlight difference faqs- 2
Silverlight difference faqs- 2Silverlight difference faqs- 2
Silverlight difference faqs- 2
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlight
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
 
Building Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) ApplicationBuilding Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) Application
 
Building Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) ApplicationBuilding Windows Presentation Foundation (WPF) Application
Building Windows Presentation Foundation (WPF) Application
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel Pattern
 
Chapter 1-Note.docx
Chapter 1-Note.docxChapter 1-Note.docx
Chapter 1-Note.docx
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
History of silverlight versions and its features
History of silverlight versions and its featuresHistory of silverlight versions and its features
History of silverlight versions and its features
 
Drupal Recipe
Drupal RecipeDrupal Recipe
Drupal Recipe
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
 
Windows phone and azure
Windows phone and azureWindows phone and azure
Windows phone and azure
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
Wpf Under The Hood Engines
Wpf Under The Hood EnginesWpf Under The Hood Engines
Wpf Under The Hood Engines
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
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
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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
 

WPF Intro

  • 1. Mustaţă Bogdan RomSoft July 2009
  • 2. Agenda Intro Why WPF? Tools (MS Expression, MS Blend, MS Design) XAML Concepts: Logical and visual tree + Demo Dependency properties + Demo Layout and panels + Demo Discussions: Tools and Toolkits Silverlight vs WPF Silverlight power Questions
  • 3. Why WPF? Broad integration (3D/2D/video/speech/rich document) Resolution independence Hardware acceleration (It is built on top of Direct3D) Declarative programming (Extensible Application Markup Language - XAML) Rich composition and customization Easy deployment (ClickOnce, Silverlight)
  • 4. Why WPF? - The real reason Vanity Kodak 1928 iPod Mini 2003 Return on Experience – By Design
  • 5. Tools (MS Expression) … http://www.microsoft.com/expression/ Blend Desig n
  • 6. XAML XAML is a new Extensible Application Markup Language and is important in integrating graphic designers into the development process but not only. Futures: Most concise way to represent user interfaces or other hierarchies of objects Encourages a separation of logic layer from the presentation layer The commune language that almost all WPF-related tools use and understand XML-based language
  • 8. Concepts - Logical and visual tree User interface because of its hierarchical nature in WPF is constructed from tree elements of objects known as a logical tree elements. Window element is the root of logical tree. Every aspect of WPF (properties, events, resources, and so on) is tied to the logical tree. A visual tree is basically an expansion of a logical tree, in which nodes are broken down into their core visual components.
  • 9. Tools for investigation Snoop Mole Little project is Snoop, a Spy++ like Mole is a Visual Studio visualizer. utility for WPF applications, but cooler. Visualizers have been part of Visual Studio since version 2005. Futures: Browse the visual tree of running Futures: WPF applications. Lightning fast performance is Inspect properties of elements at realized by using a multi- runtime. threaded, lazy-loaded Edit properties of elements at architecture for passing data runtime. between processes. Inspect RoutedEvents that are View application UI elements in a occurring, including the elements TreeView control. that handle them. Editing of properties in all project Magnify sections of the UI. types Find and debug binding errors. Multi-level drilling into objects and child objects, viewing any of their data. http://blois.us/Snoop/ http://karlshifflett.wordpress. com/mole-for-visual-studio/
  • 10. Demo 1 & Discussions
  • 11. Concepts - Dependency properties A new type of property called a dependency property. Futures: Change notification Property value inheritance Support for multiple providers XAML Button has 96 public properties
  • 12. Concepts - Dependency properties Evaluate multiple providers: Attached Properties: An attached property is a special form of dependency property that can effectively be attached to arbitrary objects.
  • 13. Demo 2 & Discussions
  • 14. Concepts - Layout and panels Freezable—The base class for objects that can be “frozen” into a read-only state for performance reasons. Visual—The base class for all objects that have their own visual representation. UIElement—The base class for all visual objects with support for routed events, command binding, layout, and focus. ContentElement A base class similar to UIElement, but for pieces of content that don’t have rendering behavior on their own.
  • 15. Concepts - Layout and panels Sizing, Positioning (HTML-CSS || XAML) Layout: Canvas StackPanel WrapPanel DockPanel Grid (Visual Studio and Expression Blend use Grid by default for their projects)
  • 16. Demo 3 & Discussions
  • 17. Tools and Toolkits WFP Toolkit – June 2009 The WPF Toolkit is collection of WPF features and components that are being made available outside of the normal .NET Framework ship cycle http://www.codeplex.com/wpf Components in the Stable Quality Band DataGrid DatePicker Calendar VisualStateManager Components in the Preview Quality Band Chart Controls Silverlight Toolkit (Silverlight 2&3) – July 2009 The Silverlight Toolkit is a collection of Silverlight controls, components and utilities made available outside the normal Silverlight release cycle. http://www.codeplex.com/Silverlight
  • 18. Silverlight vs WPF Main differences: No full keyboard and mouse events support Only WCF BasicHttpBinding and PollingDuplexHttpBinding in Silverlight Silverlight can only make asynchronous network calls Limited collections and generic in Silverlight Download: [2MB – PDF] http://wpfslguidance.codeplex.com/
  • 19. Silverlight power http://deepzoom.soulclients.com/osm/
  • 20. WPF – Intro Questions Mustaţă Bogdan mustata.bogdan@rms.ro