WPF Applications, It's all about XAML these days

  • 3,158 views
Uploaded on

This is a session I delivered at Indy TechFest '08 on Oct. 4, 2008. It serves as an introduction to building Windows Presentation Foundation applications using Visual Studio 2008 and Expression Blend.

This is a session I delivered at Indy TechFest '08 on Oct. 4, 2008. It serves as an introduction to building Windows Presentation Foundation applications using Visual Studio 2008 and Expression Blend.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,158
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
129
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 06/05/09 09:06 © 2007 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.

Transcript

  • 1. Dave Bost Developer Evangelist http://davebost.com/blog
  • 2.
    • Dave Bost
    • Developer Evangelist
    • [email_address]
    • http://davebost.com/blog
    • http://twitter.com/davebost
  • 3. http://thirstydeveloper.com “ Looking at someone’s code, but with audio”
  • 4.
    • Create WPF application with
      • Visual Studio 2008
      • Expression Blend
    • A WPF application is managed code
      • It runs on the .NET 2.0 runtime
    • Some classes similar to the WinForms model
      • Application class
      • Has Window class instead of Form class
      • Use .Show() or .ShowDialog to display
      • Page class for forward/back navigation
    • Host WinForms controls on WPF window
    • Host WPF controls on Winform forms
  • 5.  
  • 6. Manhattan Associates: Integrated Logistics Solutions (ILS) Supply Chain Optimization Status: Shipping Info: http://www.manh.com/ils_net/
  • 7. Zurich Airport “Zeus” Business monitoring for airport operations Status: Complete Case Study: microsoft.com
  • 8. SilverWare SilverWare Avrio is a powerful hospitality industry solution with a highly intuitive GUI that makes it one of the most accessible P.O.S. solutions that restaurateurs and staff can use. Status: Shipping
  • 9. Entellium Rave CRM software for small and medium businesses Status: Launched
  • 10. Eikos Partners: OpenTick Opentick is an open-source data provider that delivers free real-time and historical market data for trading systems and trading platforms. Status: Shipping
  • 11. Asahiyama Zoo Portal for the virtual exploration of one of Japan’s largest zoos. Status: Shipping Live Site: http://www.asahiyamazoo-aict.jp/asahiyamazoo.xbap
  • 12. Yahoo Next-generation instant messaging client Status: Public Beta
  • 13. Libronix Notescraps Post-it note software Status: Shipping Download: http://www.notescraps.com
  • 14. Seattle Post-Intelligencer News Reader Reading experience for Seattle-based newspaper Status: Completed Website: http://seattlepi.nwsource.com
  • 15. OTTO Next-generation retail experience Status: Complete PR: Microsoft PressPass
  • 16. Fujitsu Fujitsu North American Retail released the Global Store product line using WPF as the UI for their point of sales system. Status: Deploying in AMC theaters in May 2008
  • 17. Wells Fargo Next-generation ATM client Status: In deployment to new ATMs across the US
  • 18. British Library Revolutionary new 3D experience for accessing priceless literary treasures Status: Complete
  • 19. Scripps Healthcare Allowing cancer researchers to collaborate in the search for a cure Status: Late Beta (Shown at Windows Vista BV Launch) PR: .NET Developer’s Journal
  • 20. Electric Rain STANDOUT High-end tool for delivering visually stunning presentations Status: Beta
  • 21. Whether you are designing rich standards-based websites, ultimate experiences on the desktop, or managing digital assets and content, Expression professional design tools give you the flexibility and freedom to bring your vision to reality.
  • 22.
    • Extensive Application Markup Language
    • Toolable, declarative markup
    • Code and content are separate
    • Compatible with Windows Presentation Foundation
    <Button Width=&quot;100&quot;> OK <Button.Background> LightBlue </Button.Background> </Button> XAML Button b1 = new Button(); b1.Content = &quot;OK&quot;; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = &quot;OK&quot; b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET
  • 23.
      • designers & developers:
      • Speak the same language
    designers design
      • designers & developers:
      • Speak different languages
    developers add business logic The new way for designers and developers to work together designer developer
  • 24.  
  • 25.
    • WPF includes a flexible, panel based layout engine
    • What is layout?
      • Measuring and arranging a region of WPF UI
      • All layout is handled by panels
      • Panel has ultimate control over every child
        • Child size, location, ZOrder
        • Child location relative to other children
    • Frees you from hard coding sizes/locations
      • Mix and combine panels
  • 26. <Grid/>
  • 27. <Canvas/>
  • 28. <StackPanel/>
  • 29. <StackPanel/>
  • 30. <DockPanel/> by lee.mccain.photorama http://flickr.com/photos/mccain007/2218878568/
  • 31. <WrapPanel/> by thomas hawk http://flickr.com/photos/thomashawk/379282442
  • 32.  
  • 33.
    • Styles provide a convenient way to itemize a set of property values for an element type
      • Example: Set font attributes for all textboxes
    • To define a Style
      • Styles are defined in a Resource element
      • Any element in XAML can have a resource section
      • Usual locations are Page, Window and Application level
      • Every Style in resource must have a x:Key value
      • Use TargetType to limit style to one element type
  • 34.
    • To apply a Style to an Element
      • Reference the Style by setting the Style attribute
      • Use the Markup Extension syntax '{}'
  • 35. Data Binding & Templates
  • 36.
    • Binding overview
      • WPF synchronizes a data source and data target
      • Add binding to target element with {Binding ***}
    • Change notification
      • WPF dependency system updates target upon source changes provided:
        • Source must implement change notification
        • Via IPropertyNotifyChanged and other mechanisms
    • Single binding
      • Bind a target to a single property on source
      • Example: TextBlock.Text to Customer.Age
    • List binding
      • Bind a target to a array, collection etc.
      • Example: Treeview. ItemsSource to XML source
  • 37.
    • Templates provide a convenient way to centralize the replacement UI for:
      • Tabular data
      • Hierarchical data
      • Controls
    • Data Template
      • Define the UI for one Type
        • Example: Customer class
        • Render UI with six TextBlocks and one Image
  • 38.  
  • 39.
    • WPF is a rich UI programming framework
    • Since WPF is managed code, working with .NET APIs is easy and familiar
    • Core concept is the composable UI model
      • Create UI out of any valid WPF element
      • Mix and merge elements
      • Formalize these replacement parts with Styles and Templates
  • 40.
    • Visit MSDN at msdn.microsoft.com
    • Visit the URL below for additional information
    • http://windowsclient.net/
    • Virtual Labs
    • http://msdn.microsoft.com/virtuallabs
    • MIX University
    • http://visitmix.com/university
  • 41. For the latest titles, visit www.microsoft.com/learning/books/devtools
  • 42. These books can be found and purchased at all major book stores and online retailers
  • 43. For training information and availability www.microsoft.com/learning Course ID Title 6460A Windows Presentation Foundation
  • 44.
    • Are you ready to take your career as a developer to the next level?
    • Looking for a learning experience that is designed for you?
    • Join MSDN Ramp Up and Summit Your Career!
    • MSDN Ramp Up is your online source that provides free training and technical resources to help take your development skills to the next level.
    • Step-by-Step training plans to build your development skills.
    • Premium technical content created by expert developers for developers.
    • Access to valuable online e-learning, e-references, and virtual labs.
    • 50% discount on select certification exams and 30% discount on Microsoft Press training kits.
    • Join Ramp Up for free today!
    • Go to: http://msdn.microsoft.com/rampup
  • 45. Dave Bost [email_address] thank you! http://davebost.com http://twitter.com/davebost
  • 46. © 2007 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.