This course introduces Windows Presentation Foundation or WPF (“Avalon”), the new .NET technology from Microsoft for building rich Windows applications. It is part of .NET 3.0, previously called “WinFX” by Microsoft. WPF includes an XML-based markup language for defining program elements, Extensible Application Markup Language (XAML). WPF applications can be created using only code or a combination of code and XAML pages. This course covers the essentials of WPF, providing an orientation to this technology and a firm foundation for creating applications.
.NET Training Audience:
Programmers needing to create presentation applications.
.NET Training Prerequisites
A working knowledge of C# and the .NET Framework
.NET Training Course duration
3 days
.NET Training Course outline
Introduction to WPF
- History of Microsoft GUI
- Why WPF
- When Should I Use WPF?
- WPF and .NET Framework 3.0
- Core Types and Infrastructures
- XAML
- Controls
- Data Binding
- Appearance
- Layout and Panels
- Graphics
- Media
- Documents and Printing
- Plan of Course
- Application and Window
- Creating a Button
- Providing an Event Handler
- Specifying Initial Input Focus
- Complete First Program
- Device-Independent Pixels
- Class Hierarchy
- Content Property
- Simple Brushes
- Panels
- Children of Panels
- TwoControls – Code
- Automatic Sizing
WPF Controls
- Buttons in WPF
- Using the Button Class
- Toggle Buttons
- IsThreeState
- CheckBox
- CheckBox Code
- ToolTip
- RadioButton
- Assigning GroupName Property
- GroupBox
- Images
- Label
- TextBox
- Initializing the TextBox
- Clipboard Support
- Items Controls
- Selector Controls
- Using a ListBox
- Multiple-Selection ListBox
- Selected Items
- Using the ComboBox
- Storing Objects in List Controls
XAML
- What Is XAML?
- Default Namespace
- XAML vs. Procedural Code
- Elements and Attributes
- Viewing XAML in Browser
- Using XAMLPad
- Nested Elements in XAML
- XAML with Procedural Code
- Adding a Button
- Handling an Event
- Two Controls in XAML
- Two Controls Code-Behind
- Editing XAML Documents
- Access Keys
- Access Keys in XAML
- Content Property
- Property Element Syntax
- Type Converters
- Collection Items
Layout
- Layout in WPF
- Controlling Size
- Margin and Padding
- Thickness Structure
- Top Panel
- Content Property
- XAML vs. Code
- Question
- Type Converter
- Fixed vs. Dynamic Sizing
- Specifying Font Size
- Alignment
- Default Alignment Example
- Alignment inside a Stack Panel
- Vertical Alignment
- Horizontal Alignment
- Vertical Alignment in a Window
- Content Alignment
- Flowulection
- Transforms
- Panels
- StackPanel
- Children of StackPanel
- WrapPanel
- DockPanel
- Grid
- Star Sizing
- Grid.ColumnSpan
- Scrolling
- Scaling
Dialogs
- Dialog Boxes in WPF
- MessageBox
- MessageBox Show Method
- Closing a Form
- Common Dialog Boxes
- Custom Dialogs
- Modal Dialogs
- New Product Dialog
- XAML for New Product Dialog
- Code for New Product Dialog
- Bringing up the Dialog
- Dialog Box Owner
- Displaying the Dialog
- Communicating with Parent
- XAML for Modeless Dialog
- Handler for the Apply Button
- Handler for the Close Button
- Instances of a Modeless Dialog
- Checking for an Instance
Menus and Commands
- Menus in WPF
- Menu Controls
- A Simple Menu
- The Menu Using XAML
- Handling the Click Event
- The Menu Using Procedural Code
- Icons in Menus
- Context Menu
- XAML for Context Menu
- Separator
- Keyboard Shortcuts
- Commands
- WPF Command Architecture
- Command Bindings
- Custom Commands
- MenuCalculator Command Bindings
- Input Bindings
- Menu Items
- Running MenuCalculator
- Checking Menu Items
- Common Event Handlers
- Menu Checking Logic
- Calculation Logic
- Automatic Checking
Toolbars and Status Bars
- Toolbars in WPF
- XAML for Toolbars
- Commands and Events
- Images on Buttons
- Tool Tips
- Other Elements on Toolbars
- Status Bars
Appendix A Learning Resources