VB WPF Training Course

The Graphics Network

Training and Development for Windows and the Web

01285 713297 ♦ info@tgn.co.uk

Writing Visual Basic WPF Applications

This 5 day course covers the Visual Basic language and its use for developing Windows desktop applications with the Windows Presentation Framework. A basic knowledge of programming is assumed, though not any particular language. We also offer alternative courses for those targetting other technologies such as ASP.Net or Windows Forms.

The 5 day course costs £2950 in total for up to 6 students, plus VAT and the instructor's reasonable expenses. Each student beyond 6 would cost £25 for the additional course materials. If you are interested in this course, please contact us by email at enquiries@tgn.co.uk or by phone on +44 (0)1285 713297.

Course Outline:

Introduction

The .Net platform. The Common Language Runtime (CLR) and Intermediate Language. Visual Basic, its alternatives and variations. The Visual Basic environment. Introducing object orientation. Good practice.

Using Variables

Variable Types, Scope and Lifetime. Nullable types. Arrays.

Control Flow

If, For Next, Do While/Until, For Each, Select Case.

Structured Programming

Subroutines and functions. Argument passing mechanisms. Named and optional arguments. Public, Private and the use of modules.

Object Orientation

Software engineering and components. Classes, objects and the use of 'New'. Encapsulation. Namespaces and assemblies. Benefits of object orientation.

Inheritance

The use of 'Overridable' and 'Overrides'. Benefits of inheritance. Hiding and Shadows. Abstract classes. Constructors and initialization. Casting. Collection classes. Generics. Collection examples.

Interfaces

The benefits of interfaces. Interfaces vs classes. Defining and implementing an interface. Common interfaces.

Exception Handling

Comparison with 'Err' and 'On Error'. Try and Catch. Finally. Custom Exceptions.

Files, Streams and Networking

The .Net Stream architecture. Streams, Readers and Writers. Serialization and SOAP. The Socket and Tcp classes. Basic network communication. Clients and multithreaded servers.

Introduction to WPF

What WPF is for. XAML. WPF and Silverlight. The technologies. The tools. Patterns and Model-View-ViewModel.

Designing a user interface with XAML

What is XAML?. XAML details. Designing a window. Basic controls. Properties and attached properties. Panels and layouts. Code-behind and simple events.

Event handling

The event architecture. Event bubbling and routed events. Tunnelling and preview events. Commands.

Containers and layouts

Panels. Canvas and absolute positioning. Wrap and Stack Panels. Margins, sizes and alignment. DockPanel. Grid and UniformGrid. Splitting and scrolling. Controls as containers.

WPF controls

How WPF controls work. Drawing and presentation. Defining and using styles. Control templates. Triggers and the Visual State Manager. Custom controls. Adapting to themes.

Databases and ADO.Net

Connections, commands and readers. DataSets and adapters. Typed DataSets. DataSource controls. Data-aware controls and grids. Stored procedures and transactions. Designing and implementing multi-tier applications.

Data binding

Connecting controls. Binding to objects. Binding modes. Syntax alternatives. Using data contexts. Events and updating. Hierarchies and customization. Managing data sources.

Using Windows Forms

Using Windows Forms from WPF. Using WPF from Windows Forms. Compatibility considerations. Integrating existing application code.

Graphics and animation

Shapes and colours. Designing a visually interesting user interface. Creating graphics dynamically. Bitmaps and images. Storyboards and animation.

Introducing the 3rd dimension

Coordinate systems and geometry. The ubiquitous triangle. Cameras and lighting. Models, meshes and materials. Building shapes. Practical examples.

Silverlight

What Silverlight is (and what it isn't). Silverlight site architecture. XAML. Containers, shapes and controls. Designing the user experience. Storyboards and animation. Rendering and transforms. Interaction and code-behind. Images, effects and projections. Exposing Silverlight to JavaScript. Binding.

LINQ and Entity Framework

How LINQ works. Implicitly-typed variables and Lambda expressions. The LINQ syntax. Using LINQ with collections, databases and XML. The ADO.Net Entity Framework. Using LINQ with entities. Parallel LINQ (PLINQ).

XML

Introducing XML. XmlTextReader. Using the Document Object Model (DOM) and XMLDocument. XMLDataDocuments. Creating XML using XmlWriter. LINQ and the 'X' classes.

Advanced Language Features

Passing parameters ByVal and ByRef. Variable length parameter lists. Extension methods. Operator overloading. Dispose and Using. Delegates and multicast delegates. Calling Dlls and the Windows API (PInvoke).

The Dynamic Language Runtime

Supporting dynamic languages. ExpandoObject. DynamicObject. Office support.

Multitasking

Parallel execution. Parallel For and ForEach. Tasks, threads and the thread pool. Priorities and background threads. Background workers. Synchronization and monitors. Controlling tasks and threads. Starting and controlling processes.

Deployment

XCopy deployment. DLLs and the Global Assembly Cache (GAC). Signing. strong names and versioning. No-touch and click-once deployment.