Developing Windows applications using C# and WPF
Course Code: GN-301 Duration: 5 Days
This 5 day course covers the C# language and its use for Windows desktop applications using the Windows Presentation Foundation (WPF). Developing for WPF is interesting as it actually uses 2 languages simultaneously - C# for the functionality and XAML for the UI design. A shorter course can be provided if you are already familiar with C#, and several optional modules can be added to match your particular requirements.
Course Content
Introducing C# and .Net
- Layout and white space.
- Blocks, braces and semicolons.
- Classes, methods and the use of '.'.
- The Main method.
- Basic input and output.
- Compiling and running programs.
Introduction to WPF
- What WPF is for.
- XAML.
- The technologies.
- The tools.
- Patterns and Model-View-ViewModel.
- WPF vs Windows Store Apps.
Designing a user interface with XAML
- What XAML is.
- XAML details.
- Designing a window.
- Basic controls.
- Properties and attached properties.
- Panels and layouts.
- Code-behind and simple events.
Using Variables
- Variable types and sizes.
- Integer versus floating point.
- Local variables and scope.
- Declaring and initializing variables.
- Operators.
- Pre and post increment operators.
- Strings and characters.
- Special characters and escape sequences.
- Verbatim literal strings.
Control Flow
- if and else.
- The for loop.
- while and do while.
- The switch statement.
- Conditional expressions.
- Writing and calling methods.
- Passing arguments.
- Returning values.
- Method overloading.
Object Oriented Programming
- Data types and nullable types.
- Value and reference types.
- Implicit types.
- Classes, objects and the use of 'new'.
- Encapsulation.
- The heap and the stack.
- Strings and StringBuilders.
- Collections, generics and concurrency.
- Arrays, jagged arrays and Indexers.
- Namespaces, 'using' and assemblies.
- Attributes.
Inheritance
- Inheritance and the use of 'virtual' and 'override'.
- Benefits of inheritance.
- Hiding and the other use of 'new'.
- Abstract classes.
- Constructors and initialization.
- Casting, 'as' and 'is'.
Interfaces
- The benefits of interfaces.
- Interfaces vs classes.
- Defining and implementing an interface.
- Common interfaces and the ubiquitous IEnumerable.
- Sorting and finding.
Exception Handling
- How exception handling works.
- try...catch and throw.
- Handling multiple exception types.
- try...finally and 'using'.
- Deriving exception classes.
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.
Event handling
- The event architecture.
- 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.
- Viewbox.
- Controls as containers.
WPF styles and controls
- User controls.
- How WPF controls work.
- Drawing and presentation.
- Resources and resource dictionaries.
- Defining and using styles.
- Dynamic resources.
- Control templates.
- Triggers and animation.
Commands
- 'Built-in' commands.
- Binding to commands.
- Application defined commands.
- Using Prism and DelegateCommand.
- Using MVVM Light and RelayCommand.
Data binding
- Connecting controls.
- Binding to objects.
- Binding modes.
- Syntax alternatives.
- Using data contexts.
- Events and updating.
- Property change notifications.
- Observable and binding collections.
- Data templates.
- Formatting.
- Using Prism and BindableBase.
Binding techniques
- Data grids and column design.
- Items controls and lists.
- Enhancing data templates.
- Value converters.
- XAML namespaces and object creation.
- Binding multiple properties.
- Validation and error handling.
- Custom validation rules.
Model View View-Model (MVVM)
- The architecture.
- Separating the View and the View Model.
- Creating the ViewModel from XAML.
- View first and View Model first.
- Views and data templates.
- Selection controls and enums.
- Dialogs.
- Using Multiple View/ViewModels.
- Building flexible user interfaces using user controls and regions.
- Application controllers and singletons.
LINQ and databases
- Binding to data.
- Databases and POCOs.
- Using Entity Framework.
- Using LINQ in general programming.
- LINQ, binding and data.
- Hierarchy and relationships.
- Hierarchical data templates.
Multitasking
- async and await.
- Parallel execution.
- Parallel For and ForEach.
- Tasks, threads and the thread pool.
- Controlling and synchronizing tasks and threads.
- .Net 4 synchronization mechanisms.
- Monitors.
- Asynchronous methods in .Net. Using callbacks.
- Cross-thread calls and the user interface.
Using Windows Forms
- Using Windows Forms from WPF.
- Using WPF from Windows Forms.
- Compatibility considerations.
- Integrating existing application code.
Graphics
- Shapes and colours.
- Designing a visually interesting user interface.
- Creating graphics dynamically.
- Bitmaps and images.
Optional - Introducing the 3rd dimension
- Coordinate systems and geometry.
- The ubiquitous triangle.
- Cameras and lighting.
- Models, meshes and materials.
- Building shapes.
- Practical examples.
Advanced Language Features
- Optional and named parameters.
- Delegates.
- Anonymous methods and lambda expressions.
- Memory management and the workings of the garbage collector.
- Calling legacy and unmanaged code.
- Using unsafe code.
- The Marshal and IntPtr types.
- Operator overloading and indexers.
« Back to last page
|
Why Choose Us?
ILM Qualifications
Beck-Bites
Team Building
|
|