Learn your way! Get started

Windows Presentation Foundation Using Visual C# 2010

with experts Ken Getz, Robert Green


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 5/27/2010
Level Advanced
Runtime 19h 49m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

Windows Presentation Foundation (WPF) takes the creation of client-side Windows applications to a whole new level. Developers moving from Windows Forms will find that the flexibility and richness of WPF makes it possible to create applications unlike any they could previously create. This course introduces the basics of working with WPF, starting with a tour of the basic controls, through data binding.

Prerequisites

This course assumes that students have some programming background and experience using Visual Studio 2010. This course assumes knowledge of a CLS language (Visual C#), of the .NET Framework, and the current (or a prior) version of Visual Studio.

Learning Paths

This course will help you prepare for the following certification and exam:
MCTS: .NET Framework 4, Windows Applications
70-511: TS: Windows Applications Development with Microsoft .NET Framework 4

This course is part of the following LearnNowOnline SuccessPaths™:
Building Windows Applications

Meet the experts

Ken Getz is a featured instructor for several of our Visual Studio courses. He is a Visual Basic and Visual C# expert and has been recognized multiple times as a Microsoft MVP. Ken is a seasoned instructor, successful consultant, and the author or co-author of several best-selling books. He is a frequent speaker at technical conferences like Tech-Ed, VSLive, and DevConnections and he has written for several of the industry's most-respected publications including Visual Studio Magazine, CoDe Magazine, and MSDN Magazine.

Robert Green is a Visual Studio expert and a featured instructor for several of our Visual Basic and Visual C# courses. He is currently a Technical Evangelist in the Developer Platform and Evangelism (DPE) group at Microsoft. He has also worked for Microsoft on the Developer Tools marketing team and as Community Lead on the Visual Basic team. Robert has several years of consulting experience focused on developer training and is a frequent speaker at technology conferences including TechEd, VSLive, VSConnections, and Advisor Live.

Course outline



Module 1

Intro to WPF (37:17)
  • Introduction (02:21)
  • Another UI Paradigm (00:43)
  • What We Have (01:15)
  • WPF to the Rescue (01:20)
  • Graphics and Composition (00:34)
  • Important Questions P1 (00:43)
  • Important Questions P2 (01:31)
  • WPF vs. Silverlight (03:12)
  • An Inconvenient Truth (01:27)
  • WPF and XAML (02:16)
  • WPF Project Templates (00:46)
  • Demo: WPF Application (21:02)
  • Summary (00:02)
Investigating XAML (19:52)
  • Introduction (00:15)
  • Investigating XAML (00:32)
  • Simple Properties (00:46)
  • Type Converters (03:10)
  • Complex Properties (01:07)
  • Demo: Properties (04:19)
  • Markup Extensions (02:00)
  • Demo: Markup Extension (03:08)
  • Attached Properties (04:30)
  • Summary (00:02)
Content and Grid Controls (34:01)
  • Introduction (00:15)
  • Content and Grid Controls (00:33)
  • Working With Layout Controls (01:39)
  • Demo: Layout Controls (06:55)
  • List Box as a Container (00:30)
  • Demo: List Box (03:23)
  • Grid as Container (00:33)
  • Demo: Grid Control (08:38)
  • Dependency Properties (00:45)
  • DependencyObject Class (00:46)
  • Investigating Dependency (00:58)
  • Declaring the Property (00:27)
  • In Constructor (00:32)
  • Property Wrapper (00:53)
  • Using Attached Properties (00:50)
  • Working with Attached (01:30)
  • Demo: Attached Properties (03:59)
  • Summary (00:49)

Module 2

Layout Principles (23:12)
  • Introduction (01:08)
  • Windows Forms Layout (01:04)
  • Web Forms Layout (00:27)
  • XAML Layout (01:10)
  • XAML Layout is Recursive (00:54)
  • Determining Element Size (01:08)
  • Alignment (01:08)
  • Margin and Padding (01:21)
  • Alignment, Margin, and Padding (01:06)
  • Containers (00:57)
  • StackPanel (00:29)
  • Determining Element Size (01:14)
  • Demo: Elements in StackPanel (10:56)
  • Summary (00:02)
More Layout Containers (25:40)
  • Introduction (00:15)
  • WrapPanel (00:41)
  • Demo: WrapPanel (01:33)
  • DockPanel (01:03)
  • Demo: DockPanel (04:03)
  • Nesting Containers (00:34)
  • Demo: Nesting Containers (04:18)
  • Grid (02:03)
  • Demo: Grid (06:51)
  • Canvas (00:52)
  • Demo: Canvas (02:33)
  • Summary (00:49)

Module 3

Simplest Controls (18:35)
  • Introduction (00:53)
  • The Simplest Controls (01:07)
  • Border Control (00:35)
  • Border Control Properties (01:09)
  • LinearGradientBrush (00:48)
  • GradientStop (00:36)
  • More GradientBrush (00:39)
  • Demo: Border Control (03:09)
  • Demo: Button Control (02:53)
  • Demo: CheckBox Control (02:36)
  • CheckBox Control Events (01:24)
  • RadioButton Control (00:44)
  • Demo: RadioButton (01:54)
  • Summary (00:02)
Text and Date and Misc (29:31)
  • Introduction (00:15)
  • Text Entry Controls (00:15)
  • TextBlock Control (00:25)
  • Line Breaks in TextBlock (00:13)
  • The <Run/> Element (00:31)
  • TextBox Control (00:16)
  • TextBox Properties (01:06)
  • TextBox Key Events (00:36)
  • Demo: TextBlock (03:15)
  • Demo: TextBox (05:03)
  • PasswordBox Control (00:56)
  • Demo: PasswordBox (01:06)
  • Calendar Control (00:46)
  • DatePicker Control (00:59)
  • Demo: Calendar Control (03:13)
  • Demo: DatePicker Control (00:44)
  • Miscellaneous Controls (00:12)
  • Slider Control (01:08)
  • ProgressBar Control (01:32)
  • MediaElement Control (01:22)
  • Demo: Slider Control (02:13)
  • Demo: ProgressBar (01:17)
  • Demo: MediaElement (01:02)
  • Summary (00:53)

Module 4

List Controls (29:49)
  • Introduction (00:58)
  • ListBox (00:46)
  • Populate a ListBox (00:31)
  • More ListBox (01:08)
  • Demo: ListBox (09:38)
  • ComboBox (00:53)
  • IsEditable and IsReadOnly (00:47)
  • Demo: ComboBox (07:07)
  • TreeView (00:36)
  • Populate TreeView in XAML (00:30)
  • More TreeView (00:22)
  • Demo: TreeView (06:25)
  • Summary (00:02)
Menu and Layout Controls (25:42)
  • Introduction (00:15)
  • Menu (00:29)
  • MenuItem (00:17)
  • Define a Menu in XAML (00:55)
  • Context Menu (00:48)
  • Demo: Menu (04:05)
  • Demo: Context Menu (01:25)
  • ScrollViewer (01:26)
  • TabControl and TabItem (00:44)
  • GroupBox (00:46)
  • Expander (01:10)
  • Demo: ScrollViewer (07:34)
  • Demo:Headered Controls (04:45)
  • Summary (00:54)

Module 5

Resources (33:08)
  • Introduction (01:06)
  • XAML Resources (00:19)
  • Why Use Resources? (00:53)
  • Resources Dictionary (01:32)
  • Demo: Resource (02:41)
  • Using Resources (01:52)
  • Static vs. Dynamic (01:32)
  • Defining Static Resources (00:21)
  • Hierarchy of Resources (01:26)
  • Demo: Hierarchy (01:36)
  • Self-Referential Resource (00:37)
  • Demo: Self-Referential (02:08)
  • Resource Naming Conflicts (00:50)
  • Demo: Naming Conflict (01:37)
  • App-Level Resources (01:10)
  • Demo: App-Level Resources (01:44)
  • Modifying Resources in Code (01:12)
  • Working with Resources (01:25)
  • Demo: Resources in Code (04:18)
  • Organizing Resources (00:56)
  • Demo: Resource Dictionary (02:35)
  • One Small Restriction (01:06)
  • Summary (00:02)
Styles (28:21)
  • Introduction (00:15)
  • XAML Styles (01:33)
  • Creating a Simple Style (00:45)
  • Demo: Style (02:40)
  • What"s Going On? (00:44)
  • One Small Difference (00:42)
  • Why Use Styles? (00:36)
  • Important Tool (01:07)
  • Dynamic Styles (00:27)
  • Demo: Applying Styles (07:36)
  • Style Inheritance (00:51)
  • Demo: BasedOn (01:32)
  • Be Careful! (01:16)
  • Specifying Types (00:59)
  • Demo: Types (02:28)
  • Applying Styles by Type (01:19)
  • Demo: Styles by Type (02:53)
  • Summary (00:29)

Module 6

Navigation (26:51)
  • Introduction (01:06)
  • Navigation (00:34)
  • Page Class (00:29)
  • NavigationWindow Class (00:32)
  • Hyperlinks (00:56)
  • Demo: Navigation (08:12)
  • URIs (01:20)
  • Pack URIs (01:14)
  • Demo: Using Hyperlinks (12:23)
  • Summary (00:02)
Advanced Navigation (26:55)
  • Introduction (00:15)
  • Navigation Service (01:57)
  • Demo: NavigationService (07:56)
  • Hosting Pages in Frames (01:20)
  • Hosting Pages in Windows (00:39)
  • Demo: In Frames (03:27)
  • Demo: In Windows (01:58)
  • XBAP (01:06)
  • Demo: XBAP (07:48)
  • Summary (00:26)

Module 7

Introducing Binding (15:45)
  • Introduction (00:59)
  • Binding (00:46)
  • When to Use Binding? (00:41)
  • Connection Sources & Targets (01:34)
  • Under the Hood (00:41)
  • Value Converters (01:21)
  • Demo: Binding (01:53)
  • Binding Details (01:57)
  • Setting the Binding Mode (01:14)
  • Additional Modes (00:21)
  • Demo: TwoWay (01:06)
  • A Simple Example (01:06)
  • Demo: Simple Example (01:04)
  • Summary (00:55)
Type Converters (19:53)
  • Introduction (00:15)
  • Working w/ Type Converters (01:45)
  • StringFormat Property (00:31)
  • Demo: StringFromat (01:07)
  • StringFormat Details (01:48)
  • Using a Type Converter (00:53)
  • Creating the Type Converter (00:40)
  • Converters (01:08)
  • Converter Warning (00:47)
  • Demo: Converter (02:49)
  • Referencing Type Converter (01:15)
  • Demo: Converter Code (02:55)
  • Using the Type Converter (01:22)
  • Demo: Hook-up Converter (02:30)
  • Summary (00:02)
List and Data Templates (29:27)
  • Introduction (00:55)
  • Building Templates (00:51)
  • Demo: Bind List (01:41)
  • Adding a Data Template (01:18)
  • Demo: Data Template (04:02)
  • Another Data Template (00:51)
  • Demo: Without Template (02:43)
  • Demo: With Template (08:18)
  • Binding & Data Templates (00:40)
  • Demo: Colors List (07:05)
  • Summary (00:57)

Module 8

Data Binding (28:42)
  • Introduction (00:50)
  • Review (00:37)
  • Without Data Binding (01:17)
  • With Data Binding (00:47)
  • Data Source Options (00:40)
  • Binding to an Object (01:48)
  • Binding to a DataTable (00:55)
  • Binding to a LINQ Query (00:46)
  • Binding to One Row of Data (00:38)
  • Demo: Binding to an Object (03:45)
  • Demo: With DataTable (07:08)
  • Demo: With LINQ Query (03:35)
  • Demo: One Row of Data (03:24)
  • Demo: One Row w/ LINQ (02:22)
  • Summary (00:02)
Using Views (28:32)
  • Introduction (00:15)
  • Overview (00:39)
  • CollectionView Class (01:42)
  • CollectionViewSource (00:33)
  • Demo: Using a CollectionView (13:39)
  • Demo: CollectionViewSource (03:13)
  • Demo: Drag & Drop (07:57)
  • Summary (00:32)

Module 9

List View (42:22)
  • Introduction (00:54)
  • ListView Control (00:25)
  • ListView and Views (00:43)
  • GridView (01:08)
  • ListView Properties (00:51)
  • Demo: ListView (08:04)
  • Changing Appearnce of ListView (00:57)
  • Demo: ListView Appearance (04:01)
  • Sorting (01:00)
  • Reordering Columns (00:22)
  • Demo: Sorting and Reordering (06:55)
  • Using Cell Templates (00:40)
  • Demo: Cell Templates (02:46)
  • Drag and Drop Data Binding (00:36)
  • Demo: Drag and Drop Data (08:03)
  • Grouping (00:58)
  • Demo: Grouping (03:48)
  • Summary (00:03)
Data Grid (28:42)
  • Introduction (00:15)
  • DataGrid (00:59)
  • DataGrid Properties (02:17)
  • Demo: DataGrids (02:44)
  • Demo: DataGrid Properties (06:25)
  • Row Details (01:13)
  • Demo: Row Details (04:03)
  • Working with DataGrids in Code (01:51)
  • Demo: DataGrids in Code (04:02)
  • Demo: DataGrids in Code 2 (04:47)
  • Summary (00:03)
Data Grid 2 (38:17)
  • Introduction (00:15)
  • Drag and Drop Data Binding (00:51)
  • Grouping and Sorting (00:41)
  • Filtering (01:04)
  • Demo: Drag and Drop Data (07:44)
  • Demo: Grouping (06:38)
  • Demo: Sorting (01:00)
  • Demo: Filtering (08:43)
  • Data Entry (03:05)
  • Demo: Data Entry (07:37)
  • Summary (00:34)

Module 10

Shapes (51:42)
  • Introduction (00:56)
  • Working with Shapes (00:46)
  • Investigating Basic Shapes (00:55)
  • The Shape Class (02:10)
  • Rectangle and Ellipse Shapes (00:27)
  • Rounding Corners (01:09)
  • Demo: Shapes and Rounding Corners (03:53)
  • Positioning and Sizing Shapes (02:04)
  • Demo: Positioning and Sizing (01:55)
  • Positioning and Sizing Shapes (01:46)
  • Demo: Positioning Shapes (02:23)
  • Resizing Shapes (00:49)
  • ViewBox Control (01:11)
  • Demo: ViewBox Control (01:51)
  • The Line Shape (01:53)
  • Demo: Line Shapes (02:17)
  • Adding Line Caps (01:34)
  • Demo: Adding Line Caps (01:24)
  • Using Dashes (00:41)
  • StrokeDashArray (03:56)
  • Demo: Dashes (05:23)
  • The Polyline Shape (04:00)
  • The Polygon Shape (00:59)
  • FillRule (01:56)
  • Demo: FillRule (02:56)
  • Using Line Joins (02:11)
  • Summary (00:03)
Paths and Geometries (36:30)
  • Introduction (00:15)
  • Using Paths and Geometries (01:08)
  • Paths vs Geometries? (00:35)
  • Ellipse, Line, Rectangle (00:41)
  • Demo: Paths and Geometries (03:20)
  • Using GeometryGroup Element (01:08)
  • Demo: GeometryGroup Element (04:18)
  • Curves/Lines with PathGeometry (01:13)
  • Segment Types (01:19)
  • Demo: Segment Types (03:58)
  • Working with Lines (00:38)
  • Working with Arcs (01:28)
  • Demo: Working with Arcs (05:12)
  • Working with Curves (02:08)
  • Demo: Bezier Curves (03:37)
  • Geometry Mini-Language (03:57)
  • Summary (01:27)

Module 11

Brushes (48:26)
  • Introduction (01:08)
  • Working with Brushes (00:48)
  • What is a Brush? (00:47)
  • SolidColorBrush Class (00:21)
  • How to Select a Color (01:28)
  • Named Colors (00:45)
  • #rrggbb or #aarrggbb Syntax (01:15)
  • Element.Property Syntax (00:54)
  • Demo: Brushes (03:18)
  • LinearGradientBrush (02:58)
  • Rotating the Gradient (01:07)
  • Changing the Stop Points (00:22)
  • Demo: Changing Stop Points (04:39)
  • Extending the Gradient (00:57)
  • Rectangles only? (00:23)
  • Demo: Extending the Gradient (03:36)
  • RadialGradientBrush Class (02:33)
  • Demo: RadialGradientBrush (06:29)
  • ImageBrush Class (01:30)
  • ImageBrush (00:19)
  • Demo: ImageBrush (04:03)
  • Using Transparency (01:07)
  • Demo: Using Transparency (02:45)
  • OpacityMask Property (01:13)
  • Demo: Opacity Mask (03:26)
  • Summary (00:03)
Transforms (29:05)
  • Introduction (00:18)
  • Transforms (05:37)
  • Repeating Shapes (01:04)
  • RotateTransform (01:22)
  • Demo: RotateTransform (02:00)
  • ScaleTransform (00:37)
  • Demo: ScaleTransform (02:09)
  • SkewTransform (00:40)
  • Demo: SkewTransform (01:28)
  • TranslateTransform (00:24)
  • Demo: TranslateTransform (01:05)
  • Avoiding Absolute Coordinates (01:06)
  • Demo: Rotating (02:28)
  • Transforming FrameworkElement (01:04)
  • Demo: FrameworkElement (02:15)
  • Adding Reflection Effects (01:24)
  • Demo: Reflection Effects (02:53)
  • Summary (01:04)

Module 12

Deployment (30:33)
  • Introduction (00:52)
  • Publishing an Application (00:38)
  • Using the Publish Wizard (00:20)
  • Installing the Application (00:53)
  • Publish and Install Locations (00:34)
  • Update Locations (00:28)
  • Setting Publish Options (01:01)
  • Update a Deployed Application (00:56)
  • The ClickOnce Cache (00:31)
  • Roll Back to Previous Version (00:41)
  • Demo: The ClickOnce Cache (08:17)
  • Demo: Configure for Updates (05:18)
  • Demo: Publishing the App (09:55)
  • Summary (00:03)
Markup Only and XBAP (14:23)
  • Introduction (00:15)
  • Markup-Only XAML Applications (01:40)
  • Demo: Markup-Only XAML App (06:37)
  • XAML Browser Application (XBAP) (01:02)
  • Demo: XAML Browser Application (04:18)
  • Summary (00:29)

Module 13

Blend (44:10)
  • Introduction (01:26)
  • Expression Blend (00:42)
  • Enter Expression Blend (00:24)
  • Ten Expression Blend Features (04:02)
  • Why Expression Blend? (00:20)
  • Expression Blend and SketchFlow (01:02)
  • Working with Expression Blend (00:35)
  • Obtaining Expression Blend (00:33)
  • Demo: Expression Blend (03:08)
  • Workspaces (01:00)
  • Demo: Workspaces (01:56)
  • Expression Blend Toolbar (00:22)
  • Selection Tool (00:53)
  • Direct Selection Tool (00:34)
  • Pen and Pencil Tools (00:43)
  • Demo: Tools (05:53)
  • Pan Tool (00:34)
  • Zoom Tool (00:22)
  • Demo: More Tools (01:44)
  • Eyedropper Tool (00:56)
  • Paint Bucket Tool (00:49)
  • Demo: Even More Tools (02:58)
  • Rectangle, Ellipse, and Line (00:42)
  • Demo: Rectangle, Ellipse, Line (02:25)
  • Transform and Gradient Tools (00:28)
  • Demo: Transform/Gradient Tools (04:57)
  • Layout Controls (00:16)
  • Text Controls (00:11)
  • Input Controls (00:09)
  • The Asset Library (01:01)
  • Demo: Asset Library/Controls (02:47)
  • Summary (00:03)
Blend designer panel (29:06)
  • Introduction (00:15)
  • Blend"s Designer Panels (00:24)
  • Objects and Timeline Panels (00:49)
  • Demo: Objects/Timeline Panels (05:19)
  • Projects Panel (00:30)
  • Integrating Blend and VS (00:57)
  • Demo: Projects Panels (03:04)
  • Properties Panel (00:22)
  • Filtering Properties Panel (00:52)
  • Demo: Properties Panel (06:51)
  • Transform Section (00:17)
  • Render Transforms (00:19)
  • Projection Transformations (00:24)
  • Demo: Transform Section (03:01)
  • Element to Element Binding (00:42)
  • Demo: Element-Element Binding (03:54)
  • Summary (00:57)

Module 14

Animations (21:27)
  • Introduction (01:26)
  • Getting Started (01:20)
  • Understanding Animation (00:54)
  • Limitations (00:38)
  • Rules of Animation (01:48)
  • Simple Animation (00:40)
  • Demo: Simple Animation (03:33)
  • The Animation Class (00:19)
  • Types of Animation Classes (01:21)
  • The Storyboard Class (01:15)
  • The Event Trigger (01:07)
  • Beyond the Example (00:28)
  • Animating Multiple Properties (01:07)
  • Demo: Animating Properties (02:48)
  • Handling a Different Trigger (00:31)
  • Demo: A Different Trigger (02:01)
  • Summary (00:03)
More Animations (43:21)
  • Introduction (00:15)
  • Start an Animation Using Code (00:48)
  • Demo: Storyboard Begin Method (02:15)
  • Using the ColorAnimation Class (01:16)
  • What"s Up With Fill? (01:12)
  • Demo: ColorAnimation (02:47)
  • Using the PointAnimation Class (00:56)
  • Demo: PointAnimation (02:18)
  • Animation with Key Frames (01:18)
  • Interpolation Methods (02:56)
  • Demo: Animation and Key Frames (09:08)
  • Animation Properties (00:10)
  • From Property (02:17)
  • Demo: From Property (02:15)
  • To Property (00:27)
  • By Property (00:31)
  • Demo: By Property (01:24)
  • Duration Property (01:17)
  • AutoReverse Property (00:36)
  • Demo: Auto Reverse Property (01:01)
  • RepeatBehavior Property (00:53)
  • RepeatBehavior and AutoReverse (00:30)
  • Repeat for Time (00:51)
  • Repeat Forever (00:37)
  • Demo: RepeatBehavior Property (01:54)
  • BeginTime Property (01:00)
  • Demo: BeginTime Property (02:14)
  • Summary (00:03)
Even More Animations (32:35)
  • Introduction (00:15)
  • Controlling Playback (00:33)
  • Demo: Controlling Playback (01:56)
  • Easing Functions (01:04)
  • BounceEase (02:24)
  • Easing Functions (02:00)
  • EasingMode (00:36)
  • Demo: Easing Functions (02:22)
  • Another Example (01:50)
  • Demo: Color Animation (02:11)
  • Microsoft Easing Functions (00:25)
  • Demo: MS Easing Function (02:39)
  • Animate Brushes (00:38)
  • Demo: Animate Brushes (01:31)
  • Animate Transform (00:28)
  • Demo: Animate Scale Transform (02:03)
  • Animation in Blend (00:31)
  • Demo: Animation in Blend (07:49)
  • Summary (01:11)

Module 15

WCF Services (26:00)
  • Introduction (01:28)
  • WCF Overview (02:00)
  • WCF Building Blocks (02:54)
  • Creating WCF Service (00:52)
  • Calling the WCF Service (00:40)
  • Demo: Creating a WCF Service (12:24)
  • Demo: Calling a WCF Service (05:37)
  • Summary (00:03)
WCF Services 2 (40:04)
  • Introduction (00:15)
  • Bind to a List of Customers (01:32)
  • Binding to One Customer (00:35)
  • Displaying Related Data (00:56)
  • Data Entry (00:14)
  • Demo: Bind To Customers List (06:49)
  • Demo: Bind to One Customer (03:21)
  • Demo: Displaying Related Data (05:27)
  • Demo: Data Entry (06:20)
  • Using Views (00:34)
  • CollectionViewSource (00:58)
  • ICollectionViewSource (12:56)
  • Summary (00:03)
WCF Data Services (35:06)
  • Introduction (00:15)
  • WCF Data Services (03:22)
  • REST (00:09)
  • REST Principles (01:14)
  • Why USE REST vs SOAP? (01:04)
  • WCF Data Services (00:55)
  • Creating a WCF Data Service (00:28)
  • Calling Services from Clients (01:37)
  • Demo: Build a WCF Data Service (07:38)
  • Demo: Viewing Entities in XML (06:52)
  • Demo: Calling WCF Data Service (11:24)
  • Summary (00:03)
WCF Data Services 2 (44:31)
  • Introduction (00:15)
  • WFC Data Services Client Lib (02:33)
  • Querying a WCF Data Service (02:58)
  • WCF Data Services Examples (00:33)
  • Demo: Enumerate Through Customers (03:10)
  • Demo: Link Query (00:45)
  • Demo: Pass URI Directly (02:35)
  • Demo: Execute Directly (00:45)
  • Demo: Data Binding (01:09)
  • Demo: Five Ways to Query (01:43)
  • Demo: Retrieve Customers List (04:50)
  • Demo: Retrieve One Customer (01:15)
  • Demo: Retrieve Related Data (05:31)
  • Demo: Data Entry 1 (03:48)
  • Demo: Data Entry 2 (07:10)
  • Demo: CollectionViewSource (04:16)
  • Summary (01:07)

Module 16

Windows and Forms Interop (35:03)
  • Introduction (01:24)
  • Windows Application Scenarios (00:46)
  • Benefits of Interoperability (01:26)
  • Windows Forms in WPF Apps (00:49)
  • Interoperability Issues (01:11)
  • Demo: Windows Forms in WPF (08:44)
  • Demo: Information Sharing (02:49)
  • Demo: Display Customers Data (04:57)
  • Demo: Keyboard Input (02:44)
  • WPF in Windows Forms Apps (00:31)
  • Interoperability Issues (00:39)
  • Demo:WPF in Windows Forms App (08:54)
  • Summary (00:03)
Controls Interop (36:23)
  • Introduction (00:15)
  • WinForms Controls in WPF Apps (01:14)
  • WindowsFormsHost Controls (01:10)
  • Demo: WindowsFormsHost Control (09:08)
  • Demo: User Control Item (04:22)
  • Demo: Using the User Control (04:34)
  • WPF Controls in WinForms Apps (01:37)
  • ElementHost Control (00:54)
  • Demo: ElementHost Control (12:15)
  • Summary (00:50)