Windows Presentation Foundation Using Visual Basic 2010 page 1

Meet the expert: 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 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.

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.

Runtime: 19:54:01

Course description: Windows Presentation Foundation (WPF) takes the creation of client-side Windows applications to a whole new level. Developers moving from 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.

Course outline:

Intro to WPF • Summary • XAML Layout is Recursive • The Simplest Controls • Introduction • Determining Element Size • Border Control • Another UI Paradigm Content and Grid Controls • Alignment • Border Control Properties • What We Have • Introduction • Margin and Padding • LinearGradientBrush • WPF to the Rescue • Content and Grid Controls • Alignment, Margin, and Padding • GradientStop • Graphics and Composition • Working With Layout Controls • Containers • More GradientBrush • Important Questions P1 • Demo: Layout Controls • StackPanel • Demo: Border Control • Important Questions P2 • List Box as a Container • Determining Element Size • Demo: Button Control • WPF vs. Silverlight • Demo: List Box • Demo: Elements in StackPanel • Demo: CheckBox Control • An Inconvenient Truth • Grid as Container • Summary • CheckBox Control Events • WPF and XAML • Demo: Grid Control • RadioButton Control • WPF Project Templates • Dependency Properties More Layout Containers • Demo: RadioButton • Demo: WPF Application • DependencyObject Class • Introduction • Summary • Summary • Investigating Dependency • WrapPanel • Declaring the Property • Demo: WrapPanel Text, Date, and Misc Investigating XAML • In Constructor • DockPanel • Introduction • Introduction • Property Wrapper • Demo: DockPanel • Text Entry Controls • Investigating XAML • Using Attached Properties • Nesting Containers • TextBlock Control • Simple Properties • Working with Attached • Demo: Nesting Containers • Line Breaks in TextBlock • Type Converters • Demo: Attached Properties • Grid • The Element • Complex Properties • Summary • Demo: Grid • TextBox Control • Demo: Properties • Canvas • TextBox Properties • Markup Extensions Layout Principles • Demo: Canvas • TextBox Key Events • Demo: Markup Extension • Introduction • Summary • Demo: TextBlock • Attached Properties • Windows Forms Layout • Demo: TextBox • Web Forms Layout Simplest Controls • XAML Layout • Introduction (Continued on page 2)

LearnNowOnline www.LearnNowOnline.com powered by Windows Presentation Foundation Using Visual Basic 2010 page 2

• PasswordBox Control • Hierarchy of Resources • Demo: In Windows • Binding to an Object • Demo: PasswordBox • Demo: Hierarchy • XBAP • Binding to a DataTable • Calendar Control • Self-Referential Resource • Demo: XBAP • Binding to a LINQ Query • DatePicker Control • Demo: Self-Referential • Summary • Binding to One Row of Data • Demo: Calendar Control • Resource Naming Conflicts • Demo: Binding to an Object • Demo: DatePicker Control • Demo: Naming Conflict Introducing Binding • Demo: With DataTable • Miscellaneous Controls • App-Level Resources • Introduction • Demo: With LINQ Query • Slider Control • Demo: App-Level Resources • Binding • Demo: One Row of Data • ProgressBar Control • Modifying Resources in Code • When to Use Binding? • Demo: One Row w/ LINQ • MediaElement Control • Working with Resources • Connection Sources & Targets • Summary • Demo: Slider Control • Demo: Resources in Code • Under the Hood • Demo: ProgressBar • Organizing Resources • Value Converters Using Views • Demo: MediaElement • Demo: Resource Dictionary • Demo: Binding • Introduction • Summary • One Small Restriction • Binding Details • Overview • Summary • Setting the Binding Mode • CollectionView Class List Controls • Additional Modes • CollectionViewSource • Introduction Styles • Demo: TwoWay • Demo: Using a CollectionView • ListBox • Introduction • A Simple Example • Demo: CollectionViewSource • Populate a ListBox • XAML Styles • Demo: Simple Example • Demo: Drag & Drop • More ListBox • Creating a Simple Style • Summary • Summary • Demo: ListBox • Demo: Style • ComboBox • What"s Going On? Type Converters List View • IsEditable and IsReadOnly • One Small Difference • Introduction • Introduction • Demo: ComboBox • Why Use Styles? • Working w/ Type Converters • ListView Control • TreeView • Important Tool • StringFormat Property • ListView and Views • Populate TreeView in XAML • Dynamic Styles • Demo: StringFromat • GridView • More TreeView • Demo: Applying Styles • StringFormat Details • ListView Properties • Demo: TreeView • Style Inheritance • Using a Type Converter • Demo: ListView • Summary • Demo: BasedOn • Creating the Type Converter • Changing ListView Appearance • Be Careful! • Converters • Demo: ListView Appearances Menu and Layout Controls • Specifying Types • Converter Warning • Sorting • Introduction • Demo: Types • Demo: Converter • Reordering Columns • Menu • Applying Styles by Type • Referencing Type Converter • Demo: Sorting and Reordering • MenuItem • Demo: Styles by Type • Demo: Converter Code • Using Cell Templates • Define a Menu in XAML • Summary • Using the Type Converter • Demo: Using Cell Templates • Context Menu • Demo: Hook-up Converter • Drag and Drop Data Binding • Demo: Menu Navigation • Summary • Demo: Drag and Drop Binding • Demo: Context Menu • Introduction • Grouping • ScrollViewer • Navigation List & Data Templates • Demo: Grouping • TabControl and TabItem • Page Class • Introduction • Summary • GroupBox • NavigationWindow Class • Building Templates • Expander • Hyperlinks • Demo: Bind List Data Grid • Demo: ScrollViewer • Demo: Navigation • Adding a Data Template • Introduction • Demo:Headered Controls • URIs • Demo: Data Template • DataGrid • Summary • Pack URIs • Another Data Template • DataGrid Properties • Demo: Using Hyperlinks • Demo: Without Template • Demo: DataGrids Resources • Summary • Demo: With Template • Row Details • Introduction • Binding & Data Templates • Demo: Row Details • XAML Resources Advanced Navigation • Demo: Colors List • Working with DataGrids in Code • Why Use Resources? • Introduction • Summary • Demo: DataGrids in Code • Resources Dictionary • Navigation Service • Summary • Demo: Resource • Demo: NavigationService Data Binding • Using Resources • Hosting Pages in Frames • Introduction Data Grid 2 • Static vs. Dynamic • Hosting Pages in Windows • Review • Introduction • Defining Static Resources • Demo: In Frames • Without Data Binding • Drag and Drop Data Binding • With Data Binding • Grouping and Sorting • Data Source Options • Filtering

(Continued on page 3)

LearnNowOnline www.LearnNowOnline.com powered by Windows Presentation Foundation Using Visual Basic 2010 page 3

• Demo: Drag and Drop Data • Demo: Working with Arcs • Using the Publish Wizard • Blend"s Designer Panels • Demo: Grouping • Working with Curves • Installing the Application • Objects and Timeline Panel • Demo: Sorting • Demo: Bezier Curves • Publish and Install Locations • Demo: Objects/Timeline Panel • Demo: Filtering • Geometry Mini-Language • Update Locations • The Projects Panel • Data Entry • Summary • Setting Publish Options • Integrating Blend and VS • Demo: Data Entry • Update a Deployed Application • Demo: Projects Panel • Summary Brushes • The ClickOnce Cache • The Properties Panel • Introduction • Roll Back to Previous Version • Filtering the Properties Panel Shapes • Working with Brushes • Demo: The ClickOnce Cache • Demo: The Properties Panel • Introduction • What is a Brush? • Demo: Configure for Updates • Transform Section • Working with Shapes • SolidColorBrush Class • Demo: Publishing the App • Render Transforms • Investigating Basic Shapes • How to Select a Color • Summary • Projection Transformations • The Shape Class • Use Named Colors • Demo: Transform Section • Rectangle and Ellipse Shapes • #rrggbb or #aarrggbb Syntax Markup Only and XBAP • Element to Element Binding • Rounding Corners • Use Element.Property Syntax • Introduction • Demo: Element-Element • Demo: Rounding Corners • Demo: Brushes • Markup-Only XAML Binding • Positioning and Sizing Shapes • LinearGradientBrush Class Applications • Summary • Demo: Positioning and Sizing • Rotating the Gradient • Demo: Markup-Only XAML App • Positioning Shapes • Changing the Stop Points • XAML Browser Application Animations • Demo: Positioning Shapes • Demo: Changing the Stop (XBAP) • Introduction • Resizing Shapes Points • Demo: XAML Browser • Getting Started • ViewBox Control • Extending the Gradient Application • Understanding Animation • Demo: ViewBox Control • Demo: LinearGradientBrush • Summary • Limitations • The Line Shape • RadialGradientBrush Class • Rules of Animation • Demo: Lines • Demo: RadialGradientBrush Blend • Simple Animations • Adding Line Caps • ImageBrush Class • Introduction • Demo: Simple Animation • Demo: Adding Line Caps • Demo: ImageBrush Class • Expression Blend • The Animation Class • Using Dashes • Using Transparency • Ten Expression Blend Features • Types of Animation Classes • StrokeDashArray • Demo: Using Transparency • Why Expression Blend? • The Storyboard Class • Demo: Dashes • OpacityMask Property • SketchFlow • The Event Trigger • The Polyline Shape • Demo: OpacityMask Property • Working with Expression Blend • Beyond the Example • Polyline • Summary • Obtaining Expression Blend • Animating Multiple Properties • Demo: Polyline • Demo: Expression Blend • Demo: Animating Properties • The Polygon Shape Transforms • Workspaces • Handling a Different Trigger • FillRule • Introduction • Demo: Workspaces • Demo: A Different Trigger • Demo: FillRule • Transforms • Expression Blend Toolbar • Summary • Using Line Joins • Repeating Shapes • The Selection Tool • Demo: Using Line Joins • RotateTransform • Direct Selection Tool More Animations • Summary • Demo: RotateTransform • Pen and Pencil Tools • Introduction • ScaleTransform • Demo: Tools • Setting Animation Using Code Paths and Geometries • Demo: ScaleTransform • The Pan Tool • Demo: Set Animation Using • Introduction • SkewTransform • The Zoom Tool Code • Using Paths and Geometries • Demo: SkewTransform • Demo: More Tools • Using the ColorAnimation Class • Paths vs Geometries • TranslateTransform • The Eyedropper Tool • What"s Up With Fill? • Ellipse, Line, Rectangle • Demo: TranslateTransform • The Paint Bucket Tool • Demo: Fill • Demo: Paths and Geometries • Avoiding Absolute Coordinates • Demo: Even More Tools • Using the PointAnimation Class • Using GeometryGroup Element • Demo: Rotating • Rectangle, Ellipse, and Line • Demo: PointAnimation • Demo: GeometryGroup • Transforming • Demo: Rectangle, Ellipse, Line • Animation with Key Frames Element FrameworkElement • Transform and Gradient Tools • Interpolation Methods • Curves/Lines with • Demo: FrameworkElement • Demo: Transform/Gradient • Demo: Interpolation Methods PathGeometry • Adding Reflection Effects Tools • Animation Properties • Segment Types • Demo: Reflection Effects • Layout Controls • From Property • Demo: Segments • Summary • Text Controls • Demo: From Property • Working with Lines • Input Controls • To Property • Working with Arcs Deployment • The Asset Library • By Property • Introduction • Demo: Asset Library/Controls • Publishing an Application • Summary (Continued on page 4)

Blend designer panel • Introduction

LearnNowOnline www.LearnNowOnline.com powered by Windows Presentation Foundation Using Visual Basic 2010 page 4

• Demo: By Property • CollectionViewSource • Demo: ElementHost Control • Duration Property • ICollectionView Interface • Summary • AutoReverse Property • Demo: Views • Demo: AutoReverse Property • Summary • RepeatBehavior Property • RepeatBehavior and WCF Data Services AutoReverse • Introduction • Repeat for Time • WCF Data Services • Repeat Forever • REST • Demo: RepeatBehavior • REST Principles Property • Why Use REST vs SOAP? • BeginTime Property • WCF Data Services • Demo: BeginTime Property • Creating a WCF Data Service • Summary • Calling Services from Clients • Demo: Creating WCF Data Even More Animations Service • Introduction • Demo: Viewing Data in XML • Controlling Playback • Demo: Calling WCF Data • Demo: Controlling Playback Service • Easing Functions • Summary • BounceEase • More Easing Functions WCF Data Services 2 • EasingMode • Introduction • Demo: Easing Functions • WCF Data Services Client Lib • Another Example • Querying a WCF Data Service • Demo: ColorAnimation • WCF Data Service Examples • Microsoft Easing Functions • Demo: Query with Enumeration • Demo: Microsoft Easing • Demo: Link Query Functions • Demo: Pass URI Directly • Animating Brushes • Demo: Execute Directly • Demo: Animating Brushes • Demo: Data Service Collection • Animate Transform • Demo: 5 Ways to Query • Demo: Animation in Blend • Demo: Retrieve Customers List • Demo: Animate Transform • Demo: Retrieve One Customer • Animation in Blend • Demo: Retrieve Related Data • Summary • Demo: Data Entry 1 • Demo: Data Entry 2 WCF Services • Demo: CollectionViewSource • Introduction • Summary • WCF Overview • WCF Building Blocks Windows and Forms Interop • Creating a WCF Service • Introduction • Calling a WCF Service • Windows Application Scenarios • Demo: Creating a WCF Service • Benefits of Interoperability • Demo: Calling a WCF Service • Windows Forms in WPF Apps • Summary • Interoperability Issues • Demo: Windows Forms in WPF WCF Services 2 • WPF in Windows Forms Apps • Introduction • Interoperability Issues • Binding to a list of Customers • Demo: WPF in Windows Forms • Binding to One Customer • Summary • Displaying Related Data • Data Entry Controls Interop • Demo: Bind to Customers List • Introduction • Demo: Binding to One • WinForms Controls in WPF Customer Apps • Demo: Displaying Related Data • WindowsFormsHost Control • Demo: Data Entry • Demo: WindowsFormsHost • Using Views Control • WPF Controls in WinForms Apps • ElementHost Control

LearnNowOnline www.LearnNowOnline.com powered by