Learn your way! Get started

Windows Presentation Foundation Using Visual Basic 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/20/2010
Level Advanced
Runtime 19h 54m
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 Basic), 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

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 (39:24)
  • Introduction (02:21)
  • Another UI Paradigm (00:43)
  • What We Have (01:16)
  • WPF to the Rescue (01:18)
  • Graphics and Composition (00:35)
  • Important Questions P1 (00:43)
  • Important Questions P2 (01:31)
  • WPF vs. Silverlight (03:12)
  • An Inconvenient Truth (01:26)
  • WPF and XAML (02:16)
  • WPF Project Templates (00:46)
  • Demo: WPF Application (23:08)
  • Summary (00:02)
Investigating XAML (18:40)
  • Introduction (00:15)
  • Investigating XAML (00:32)
  • Simple Properties (00:46)
  • Type Converters (03:10)
  • Complex Properties (01:07)
  • Demo: Properties (03:06)
  • Markup Extensions (02:00)
  • Demo: Markup Extension (03:09)
  • Attached Properties (04:29)
  • Summary (00:02)
Content and Grid Controls (34:02)
  • Introduction (00:15)
  • Content and Grid Controls (00:34)
  • Working With Layout Controls (01:39)
  • Demo: Layout Controls (06:55)
  • List Box as a Container (00:29)
  • Demo: List Box (03:23)
  • Grid as Container (00:32)
  • Demo: Grid Control (08:37)
  • Dependency Properties (00:47)
  • DependencyObject Class (00:46)
  • Investigating Dependency (00:57)
  • Declaring the Property (00:25)
  • In Constructor (00:32)
  • Property Wrapper (00:58)
  • Using Attached Properties (00:50)
  • Working with Attached (01:40)
  • Demo: Attached Properties (03:46)
  • 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:09)
  • 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:46)
  • Introduction (00:15)
  • WrapPanel (00:41)
  • Demo: WrapPanel (01:33)
  • DockPanel (01:03)
  • Demo: DockPanel (04:04)
  • Nesting Containers (00:34)
  • Demo: Nesting Containers (04:18)
  • Grid (02:03)
  • Demo: Grid (06:56)
  • Canvas (00:51)
  • Demo: Canvas (02:34)
  • Summary (00:49)

Module 3

Simplest Controls (18:36)
  • 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:10)
  • Demo: Button Control (02:53)
  • Demo: CheckBox Control (02:35)
  • CheckBox Control Events (01:24)
  • RadioButton Control (00:46)
  • Demo: RadioButton (01:53)
  • Summary (00:02)
Text, 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:35)
  • Demo: TextBlock (03:15)
  • Demo: TextBox (05:04)
  • PasswordBox Control (00:56)
  • Demo: PasswordBox (01:07)
  • Calendar Control (00:46)
  • DatePicker Control (01:00)
  • Demo: Calendar Control (03:13)
  • Demo: DatePicker Control (00:44)
  • Miscellaneous Controls (00:12)
  • Slider Control (01:07)
  • ProgressBar Control (01:32)
  • MediaElement Control (01:22)
  • Demo: Slider Control (02:15)
  • Demo: ProgressBar (01:14)
  • Demo: MediaElement (01:03)
  • Summary (00:53)

Module 4

List Controls (29:37)
  • Introduction (00:58)
  • ListBox (00:47)
  • Populate a ListBox (00:31)
  • More ListBox (01:09)
  • Demo: ListBox (10:07)
  • ComboBox (00:47)
  • IsEditable and IsReadOnly (00:46)
  • Demo: ComboBox (07:10)
  • TreeView (00:36)
  • Populate TreeView in XAML (00:30)
  • More TreeView (00:23)
  • Demo: TreeView (05:48)
  • Summary (00:02)
Menu and Layout Controls (26:28)
  • Introduction (00:15)
  • Menu (00:29)
  • MenuItem (00:18)
  • Define a Menu in XAML (00:55)
  • Context Menu (00:47)
  • Demo: Menu (04:10)
  • Demo: Context Menu (01:39)
  • ScrollViewer (01:26)
  • TabControl and TabItem (00:45)
  • GroupBox (00:46)
  • Expander (01:10)
  • Demo: ScrollViewer (07:42)
  • Demo:Headered Controls (05:06)
  • Summary (00:54)

Module 5

Resources (33:59)
  • 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:36)
  • Demo: Self-Referential (02:09)
  • Resource Naming Conflicts (00:50)
  • Demo: Naming Conflict (01:37)
  • App-Level Resources (01:07)
  • Demo: App-Level Resources (01:43)
  • Modifying Resources in Code (01:12)
  • Working with Resources (01:26)
  • Demo: Resources in Code (04:49)
  • Organizing Resources (00:56)
  • Demo: Resource Dictionary (02:57)
  • One Small Restriction (01:06)
  • Summary (00:02)
Styles (28:37)
  • 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:35)
  • Important Tool (01:08)
  • Dynamic Styles (00:27)
  • Demo: Applying Styles (07:52)
  • Style Inheritance (00:50)
  • Demo: BasedOn (01:33)
  • Be Careful! (01:16)
  • Specifying Types (00:59)
  • Demo: Types (02:28)
  • Applying Styles by Type (01:19)
  • Demo: Styles by Type (02:54)
  • Summary (00:29)

Module 6

Navigation (25:30)
  • Introduction (01:06)
  • Navigation (00:34)
  • Page Class (00:29)
  • NavigationWindow Class (00:32)
  • Hyperlinks (00:56)
  • Demo: Navigation (07:35)
  • URIs (01:05)
  • Pack URIs (01:15)
  • Demo: Using Hyperlinks (11:54)
  • Summary (00:02)
Advanced Navigation (26:04)
  • Introduction (00:15)
  • Navigation Service (01:57)
  • Demo: NavigationService (07:40)
  • Hosting Pages in Frames (01:19)
  • Hosting Pages in Windows (00:39)
  • Demo: In Frames (04:39)
  • Demo: In Windows (01:00)
  • XBAP (01:11)
  • Demo: XBAP (06:53)
  • Summary (00:26)

Module 7

Introducing Binding (16:04)
  • 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 (02:13)
  • Binding Details (01:54)
  • Setting the Binding Mode (01:14)
  • Additional Modes (00:24)
  • Demo: TwoWay (01:05)
  • A Simple Example (01:07)
  • Demo: Simple Example (01:04)
  • Summary (00:55)
Type Converters (20:18)
  • 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 (03:21)
  • Using the Type Converter (01:22)
  • Demo: Hook-up Converter (02:29)
  • Summary (00:02)
List & Data Templates (29:23)
  • Introduction (00:55)
  • Building Templates (00:51)
  • Demo: Bind List (02:21)
  • Adding a Data Template (01:18)
  • Demo: Data Template (04:03)
  • Another Data Template (00:51)
  • Demo: Without Template (02:25)
  • Demo: With Template (08:04)
  • Binding & Data Templates (00:39)
  • Demo: Colors List (06:53)
  • Summary (00:57)

Module 8

Data Binding (27:26)
  • 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:15)
  • Demo: With DataTable (07:10)
  • Demo: With LINQ Query (03:07)
  • Demo: One Row of Data (03:08)
  • Demo: One Row w/ LINQ (02:18)
  • Summary (00:02)
Using Views (34:07)
  • Introduction (00:15)
  • Overview (00:39)
  • CollectionView Class (01:42)
  • CollectionViewSource (00:34)
  • Demo: Using a CollectionView (14:09)
  • Demo: CollectionViewSource (06:51)
  • Demo: Drag & Drop (09:23)
  • Summary (00:32)

Module 9

List View (41:35)
  • Introduction (00:54)
  • ListView Control (00:24)
  • ListView and Views (00:44)
  • GridView (01:09)
  • ListView Properties (00:50)
  • Demo: ListView (07:31)
  • Changing ListView Appearance (00:56)
  • Demo: ListView Appearances (05:05)
  • Sorting (00:59)
  • Reordering Columns (00:22)
  • Demo: Sorting and Reordering (06:02)
  • Using Cell Templates (00:39)
  • Demo: Using Cell Templates (03:01)
  • Drag and Drop Data Binding (00:36)
  • Demo: Drag and Drop Binding (07:04)
  • Grouping (00:57)
  • Demo: Grouping (04:11)
  • Summary (00:03)
Data Grid (30:15)
  • Introduction (00:15)
  • DataGrid (00:58)
  • DataGrid Properties (02:17)
  • Demo: DataGrids (09:32)
  • Row Details (01:13)
  • Demo: Row Details (03:36)
  • Working with DataGrids in Code (01:49)
  • Demo: DataGrids in Code (10:30)
  • Summary (00:03)
Data Grid 2 (35:43)
  • Introduction (00:15)
  • Drag and Drop Data Binding (00:50)
  • Grouping and Sorting (00:41)
  • Filtering (01:04)
  • Demo: Drag and Drop Data (06:12)
  • Demo: Grouping (05:53)
  • Demo: Sorting (00:37)
  • Demo: Filtering (08:54)
  • Data Entry (03:08)
  • Demo: Data Entry (07:31)
  • 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:30)
  • Rounding Corners (01:05)
  • Demo: Rounding Corners (03:54)
  • Positioning and Sizing Shapes (02:03)
  • Demo: Positioning and Sizing (01:55)
  • Positioning Shapes (01:45)
  • Demo: Positioning Shapes (02:24)
  • Resizing Shapes (00:50)
  • ViewBox Control (01:11)
  • Demo: ViewBox Control (01:50)
  • The Line Shape (01:55)
  • Demo: Lines (02:16)
  • Adding Line Caps (01:34)
  • Demo: Adding Line Caps (01:24)
  • Using Dashes (00:41)
  • StrokeDashArray (03:55)
  • Demo: Dashes (05:24)
  • The Polyline Shape (01:16)
  • Polyline (00:45)
  • Demo: Polyline (01:58)
  • The Polygon Shape (01:00)
  • FillRule (01:56)
  • Demo: FillRule (02:55)
  • Using Line Joins (00:52)
  • Demo: Using Line Joins (01:19)
  • Summary (00:03)
Paths and Geometries (36:30)
  • Introduction (00:15)
  • Using Paths and Geometries (01:09)
  • Paths vs Geometries (00:34)
  • Ellipse, Line, Rectangle (00:41)
  • Demo: Paths and Geometries (03:19)
  • Using GeometryGroup Element (01:08)
  • Demo: GeometryGroup Element (04:19)
  • Curves/Lines with PathGeometry (01:14)
  • Segment Types (01:17)
  • Demo: Segments (03:59)
  • Working with Lines (00:40)
  • Working with Arcs (01:26)
  • Demo: Working with Arcs (05:12)
  • Working with Curves (02:09)
  • 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:47)
  • What is a Brush? (00:48)
  • SolidColorBrush Class (00:22)
  • How to Select a Color (01:28)
  • Use Named Colors (00:45)
  • #rrggbb or #aarrggbb Syntax (01:15)
  • Use Element.Property Syntax (00:54)
  • Demo: Brushes (03:18)
  • LinearGradientBrush Class (02:58)
  • Rotating the Gradient (01:06)
  • Changing the Stop Points (00:22)
  • Demo: Changing the Stop Points (04:39)
  • Extending the Gradient (01:21)
  • Demo: LinearGradientBrush (03:35)
  • RadialGradientBrush Class (02:34)
  • Demo: RadialGradientBrush (06:28)
  • ImageBrush Class (01:50)
  • Demo: ImageBrush Class (04:03)
  • Using Transparency (01:08)
  • Demo: Using Transparency (02:45)
  • OpacityMask Property (01:13)
  • Demo: OpacityMask Property (03:26)
  • Summary (00:03)
Transforms (29:05)
  • Introduction (00:18)
  • Transforms (05:36)
  • Repeating Shapes (01:06)
  • RotateTransform (01:21)
  • Demo: RotateTransform (01:59)
  • ScaleTransform (00:36)
  • Demo: ScaleTransform (02:09)
  • SkewTransform (00:40)
  • Demo: SkewTransform (01:28)
  • TranslateTransform (00:24)
  • Demo: TranslateTransform (01:06)
  • Avoiding Absolute Coordinates (01:05)
  • Demo: Rotating (02:29)
  • Transforming FrameworkElement (01:04)
  • Demo: FrameworkElement (02:16)
  • 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:19)
  • Installing the Application (00:53)
  • Publish and Install Locations (00:35)
  • Update Locations (00:26)
  • Setting Publish Options (01:01)
  • Update a Deployed Application (00:57)
  • The ClickOnce Cache (00:30)
  • 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:51)
  • Introduction (00:15)
  • Markup-Only XAML Applications (01:40)
  • Demo: Markup-Only XAML App (06:59)
  • XAML Browser Application (XBAP) (01:02)
  • Demo: XAML Browser Application (04:24)
  • Summary (00:29)

Module 13

Blend (44:10)
  • Introduction (01:26)
  • Expression Blend (01:05)
  • Ten Expression Blend Features (04:04)
  • Why Expression Blend? (00:21)
  • SketchFlow (01:02)
  • Working with Expression Blend (00:35)
  • Obtaining Expression Blend (00:32)
  • Demo: Expression Blend (03:09)
  • Workspaces (01:00)
  • Demo: Workspaces (01:57)
  • Expression Blend Toolbar (00:21)
  • The Selection Tool (00:54)
  • Direct Selection Tool (00:33)
  • Pen and Pencil Tools (00:43)
  • Demo: Tools (05:54)
  • The Pan Tool (00:34)
  • The Zoom Tool (00:21)
  • Demo: More Tools (01:44)
  • The Eyedropper Tool (00:56)
  • The Paint Bucket Tool (00:50)
  • Demo: Even More Tools (02:57)
  • Rectangle, Ellipse, and Line (00:43)
  • Demo: Rectangle, Ellipse, Line (02:24)
  • Transform and Gradient Tools (00:28)
  • Demo: Transform/Gradient Tools (04:58)
  • Layout Controls (00:15)
  • 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:10)
  • Introduction (00:15)
  • Blend"s Designer Panels (00:24)
  • Objects and Timeline Panel (00:50)
  • Demo: Objects/Timeline Panel (05:20)
  • The Projects Panel (00:29)
  • Integrating Blend and VS (00:58)
  • Demo: Projects Panel (03:09)
  • The Properties Panel (00:20)
  • Filtering the Properties Panel (00:52)
  • Demo: The Properties Panel (06:52)
  • Transform Section (00:15)
  • Render Transforms (00:19)
  • Projection Transformations (00:25)
  • 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 Animations (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:28)
  • Introduction (00:15)
  • Setting Animation Using Code (00:48)
  • Demo: Set Animation Using Code (02:23)
  • Using the ColorAnimation Class (01:10)
  • What"s Up With Fill? (01:18)
  • Demo: Fill (02:47)
  • Using the PointAnimation Class (00:57)
  • Demo: PointAnimation (02:17)
  • Animation with Key Frames (01:19)
  • Interpolation Methods (02:55)
  • Demo: Interpolation Methods (09:09)
  • Animation Properties (00:10)
  • From Property (02:17)
  • Demo: From Property (02:15)
  • To Property (00:26)
  • By Property (00:32)
  • Demo: By Property (01:25)
  • Duration Property (01:17)
  • AutoReverse Property (00:35)
  • Demo: AutoReverse Property (01:01)
  • RepeatBehavior Property (00:53)
  • RepeatBehavior and AutoReverse (00:30)
  • Repeat for Time (00:51)
  • Repeat Forever (00:36)
  • Demo: RepeatBehavior Property (01:56)
  • BeginTime Property (01:00)
  • Demo: BeginTime Property (02:13)
  • Summary (00:03)
Even More Animations (32:40)
  • Introduction (00:15)
  • Controlling Playback (00:33)
  • Demo: Controlling Playback (02:02)
  • Easing Functions (01:03)
  • BounceEase (02:23)
  • More Easing Functions (02:01)
  • EasingMode (00:35)
  • Demo: Easing Functions (02:23)
  • Another Example (01:49)
  • Demo: ColorAnimation (02:13)
  • Microsoft Easing Functions (00:23)
  • Demo: Microsoft Easing Functions (02:40)
  • Animating Brushes (00:37)
  • Demo: Animating Brushes (01:32)
  • Animate Transform (00:27)
  • Demo: Animation in Blend (00:00)
  • Demo: Animate Transform (02:03)
  • Animation in Blend (08:21)
  • Summary (01:11)

Module 15

WCF Services (25:50)
  • Introduction (01:28)
  • WCF Overview (01:59)
  • WCF Building Blocks (02:58)
  • Creating a WCF Service (00:52)
  • Calling a WCF Service (00:40)
  • Demo: Creating a WCF Service (09:39)
  • Demo: Calling a WCF Service (08:09)
  • Summary (00:03)
WCF Services 2 (40:24)
  • Introduction (00:15)
  • Binding to a list of Customers (01:32)
  • Binding to One Customer (00:35)
  • Displaying Related Data (00:55)
  • Data Entry (00:15)
  • Demo: Bind to Customers List (06:29)
  • Demo: Binding to One Customer (01:48)
  • Demo: Displaying Related Data (05:04)
  • Demo: Data Entry (07:26)
  • Using Views (00:35)
  • CollectionViewSource (00:57)
  • ICollectionView Interface (03:01)
  • Demo: Views (11:24)
  • Summary (00:03)
WCF Data Services (31:03)
  • Introduction (00:15)
  • WCF Data Services (03:22)
  • REST (00:09)
  • REST Principles (01:12)
  • Why Use REST vs SOAP? (01:05)
  • WCF Data Services (00:57)
  • Creating a WCF Data Service (00:26)
  • Calling Services from Clients (01:37)
  • Demo: Creating WCF Data Service (06:18)
  • Demo: Viewing Data in XML (06:17)
  • Demo: Calling WCF Data Service (09:16)
  • Summary (00:03)
WCF Data Services 2 (47:08)
  • Introduction (00:15)
  • WCF Data Services Client Lib (02:28)
  • Querying a WCF Data Service (03:06)
  • WCF Data Service Examples (00:33)
  • Demo: Query with Enumeration (03:12)
  • Demo: Link Query (00:25)
  • Demo: Pass URI Directly (02:00)
  • Demo: Execute Directly (00:33)
  • Demo: Data Service Collection (00:53)
  • Demo: 5 Ways to Query (01:38)
  • Demo: Retrieve Customers List (06:13)
  • Demo: Retrieve One Customer (04:22)
  • Demo: Retrieve Related Data (06:07)
  • Demo: Data Entry 1 (05:06)
  • Demo: Data Entry 2 (05:58)
  • Demo: CollectionViewSource (03:06)
  • Summary (01:07)

Module 16

Windows and Forms Interop (35:34)
  • Introduction (01:24)
  • Windows Application Scenarios (00:46)
  • Benefits of Interoperability (01:26)
  • Windows Forms in WPF Apps (00:50)
  • Interoperability Issues (01:11)
  • Demo: Windows Forms in WPF (19:39)
  • WPF in Windows Forms Apps (00:33)
  • Interoperability Issues (00:38)
  • Demo: WPF in Windows Forms (09:00)
  • Summary (00:03)
Controls Interop (37:24)
  • Introduction (00:15)
  • WinForms Controls in WPF Apps (01:14)
  • WindowsFormsHost Control (01:08)
  • Demo: WindowsFormsHost Control (19:04)
  • WPF Controls in WinForms Apps (01:36)
  • ElementHost Control (00:54)
  • Demo: ElementHost Control (12:20)
  • Summary (00:50)