Dave Bost Developer Evangelist http://davebost.com/blog
<ul><li>Dave Bost </li></ul><ul><li>Developer Evangelist </li></ul><ul><li>[email_address] </li></ul><ul><li>http://davebo...
http://thirstydeveloper.com “ Looking at someone’s code, but with audio”
<ul><li>Create WPF application with </li></ul><ul><ul><li>Visual Studio 2008 </li></ul></ul><ul><ul><li>Expression Blend <...
 
Manhattan Associates: Integrated Logistics Solutions (ILS) Supply Chain Optimization Status: Shipping  Info: http://www.ma...
Zurich Airport “Zeus” Business monitoring for airport operations Status: Complete Case Study: microsoft.com
SilverWare SilverWare  Avrio is a powerful hospitality industry solution with a highly intuitive GUI that makes it one of ...
Entellium Rave CRM software for small and medium businesses Status: Launched
Eikos Partners: OpenTick  Opentick is an open-source data provider that delivers free real-time  and historical market dat...
Asahiyama Zoo  Portal for the virtual exploration of one of Japan’s largest zoos. Status: Shipping  Live Site: http://www....
Yahoo Next-generation instant messaging client Status: Public Beta
Libronix Notescraps Post-it note software Status: Shipping  Download: http://www.notescraps.com
Seattle Post-Intelligencer News Reader Reading experience for Seattle-based newspaper Status: Completed Website: http://se...
OTTO Next-generation retail experience Status: Complete PR:  Microsoft PressPass
Fujitsu Fujitsu North American Retail released the Global Store product line using WPF as the UI for their point of sales ...
Wells Fargo Next-generation ATM client Status: In deployment to new ATMs across the US
British Library Revolutionary new 3D experience for accessing priceless literary treasures Status: Complete
Scripps Healthcare Allowing cancer researchers to collaborate in the search for a cure Status: Late Beta (Shown at Windows...
Electric Rain STANDOUT High-end tool for delivering visually stunning presentations Status: Beta
Whether you are designing  rich standards-based websites, ultimate experiences on the desktop, or managing digital assets ...
<ul><li>Extensive Application Markup Language </li></ul><ul><li>Toolable, declarative markup </li></ul><ul><li>Code and co...
<ul><ul><li>designers & developers:  </li></ul></ul><ul><ul><li>Speak  the same  language </li></ul></ul>designers design ...
 
<ul><li>WPF includes a flexible, panel based layout engine </li></ul><ul><li>What is layout? </li></ul><ul><ul><li>Measuri...
<Grid/>
<Canvas/>
<StackPanel/>
<StackPanel/>
<DockPanel/> by lee.mccain.photorama http://flickr.com/photos/mccain007/2218878568/
<WrapPanel/> by thomas hawk http://flickr.com/photos/thomashawk/379282442
 
<ul><li>Styles provide a convenient way to itemize a set of property values for an element type </li></ul><ul><ul><li>Exam...
<ul><li>To apply a Style to an Element </li></ul><ul><ul><li>Reference the Style by setting the Style attribute </li></ul>...
Data Binding & Templates
<ul><li>Binding overview </li></ul><ul><ul><li>WPF synchronizes a data source and data target </li></ul></ul><ul><ul><li>A...
<ul><li>Templates provide a convenient way to centralize the replacement UI for: </li></ul><ul><ul><li>Tabular data </li><...
 
<ul><li>WPF is a rich UI programming framework </li></ul><ul><li>Since WPF is managed code, working with .NET APIs is easy...
<ul><li>Visit MSDN at   msdn.microsoft.com </li></ul><ul><li>Visit the URL below for additional  information </li></ul><ul...
For the latest titles, visit www.microsoft.com/learning/books/devtools
These books can be found and purchased at all major book stores and online retailers
For training information and availability www.microsoft.com/learning Course ID Title 6460A Windows Presentation Foundation
<ul><li>Are you ready to take your career as a developer to the next level? </li></ul><ul><li>Looking for a learning exper...
Dave Bost [email_address] thank you! http://davebost.com http://twitter.com/davebost
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Upcoming SlideShare
Loading in...5
×

WPF Applications, It's all about XAML these days

3,290

Published 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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,290
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
132
Comments
0
Likes
1
Embeds 0
No embeds

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.
  • WPF Applications, It's all about XAML these days

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×