WPF is Microsoft’s platform for writing Windows desktop applications that can take advantage of the power of the graphical capabilities of modern PCs. Silverlight is Microsoft’s cross–platform Rich Internet Application (RIA) technology for building interactive web content.
Although they are aimed at quite different kinds of applications, WPF and Silverlight have a great deal in common – both use Xaml (the eXtensible Application Markup Language) to define the user interface; Microsoft’s Expression Blend can target both platforms; Silverlight includes a compact cross–platform version of the .NET Framework, enabling it to support C# and VB.NET, and to offer a very similar programming model to WPF – it’s possible to write code that can be compiled for both WPF and Silverlight.
The similarities between WPF and Silverlight mean that knowing one makes it much easier to learn the other. This course covers the many features that Silverlight and WPF have in common, including graphical elements, animations, layout, Xaml, and the basic programming model. It also covers the areas in which the technologies are different, such as web browser integration, and the set of built–in controls.
Course outline:
Day 1
Introduction to WPF and Silverlight
- Why WPF? Why Silverlight? (Historical technical context)
- What are WPF and Silverlight and how do they relate to Microsofts current technology offerings?
- Differences between WPF and Silverlight
- XAML, Expression Blend, and Visual Studio 2008
- Customization of UI visuals
- Programming model
Layout
- Layout panels
- Interaction between Xaml and HTML layout in Silverlight
- Pages, frames, windows, and navigation in WPF
Controls
- Built–in controls
- Event handling
- Commands in WPF
Day 2
Graphics
- Resolution independence, transformability
- Drawing primitives
- Graphics object model
- Integration
- Imaging and video
Browser Integration
- WPF and the Browser (XBAP)
- Silverlight and the Browser
- Silverlight HTML integration classes
Data
- Data binding and data contexts
- Data source providers
- Data templates
- Hierarchical binding (WPF only)
Day 3
Templates
- Lookless controls
- ControlTemplate and TemplateBinding
- Triggers (WPF) vs Visual State Manager (Silverlight)
- The implied contract between a control and its template
Resources
- Object resource hierarchy
- Binary resource support
- pack: URL format
Reusable UI
- Resource–based reuse (WPF only)
- Template–based reuse
- Writing custom controls
Text
- Simple text formatting
- WPF–only extras: Flow layout, Pagination
Day 4
Animation
- Timelines
- Key frames
- Triggering animations
Styles
- Styles and properties
- Styles and resources
- Triggers (same set of ideas we already saw for templates)
Connecting to Services
- Asynchronous invocation and threading models
- Communication Technologies
- Data binding and services
Prerequisits
This course is for experienced C# developers. No prior knowledge of either WPF or Silverlight is required, but familiarity with C# and the .NET Framework is essential. Experience with Visual Studio 2008 is useful, but not absolutely required
About the course instructor
Ian Griffiths is a member of the technical staff at Pluralsight, where he focuses on the presentation layer curriculum. Ian is also an independent consultant, developer, speaker, and author. He has written books on Windows Presentation Foundation, Windows Forms, and Visual Studio.
MEET IAN GRIFFITHS AT NDC2009, READ MORE
HERE