MS10262

Microsoft .NET Framework 4, Windows Applications Development

Please note, this is a preliminary outline. As such, elements of the syllabus may be subject to change.

Audience:

Technology Specialists in the area of Windows Client Development work in a development environment that uses Microsoft Visual Studio .NET 2010 and Microsoft .NET Framework 4.0 to create rich client applications for Windows.

Prerequisites:

These technology specialists should have at least one year of experience developing Windows-based applications by using a recent version of Visual Studio .NET, at least six months experience with Visual Studio 2010 (including pre-release versions), and should be able to demonstrate the following:

  • A solid understanding of the Microsoft .NET Framework 4.0 solution stack for WinForms applications
  • Experience in creating data-driven user interfaces for WinForms applications
  • Experience in programming against the WinForms object models
  • Experience in deploying WinForms applications
  • Limited experience (100-level) with WPF and Extensible Application Markup Language (XAML) using VS2008

Course outline:

Module 1 - Windows Client Application Design

  • Describe the key Windows client technologies available to .NET Framework developers.
  • Overview of the key features of Windows Forms as a Windows client technology.
  • Overview of the key features of WPF as a Windows client technology.
  • Compare and contrast Windows Forms and WPF and the suitability of each to different business and design requirements.
  • Describe the key architectural patterns available to .NET Framework developers.
  • Overview of key architectural patterns such as MVP and MV-VM.
  • Selecting the appropriate architectural pattern.
  • Identify areas for migration from Windows Forms to WPF.
  • Identify areas for interoperability between Windows Forms and WPF.
  • Overview of interoperability features between Windows Forms and WPF.
  • Overview of when to migrate from Windows Forms, when to integrate Windows Forms in a WPF application, and when to integrate WPF controls into a Windows Forms application.

Module 2 - Introduction to WPF Development

  • Use new features in Visual Studio 2010.
  • Overview of new features in Visual Studio 2010.
  • Use the toolbox and designers in Visual Studio 2010.
  • Overview of the available controls in the Toolbox.
  • Overview of the visual designer for WPF.
  • Use the XAML window to add and edit user interface elements.

Module 3 - Designing and Developing a User Interface

  • Describe the page layout model in WPF applications.
  • List the layout classes available in WPF.
  • Use panels in a WPF application.
  • Use grids in a WPF application.
  • Describe how WPF lays out a page when controls are resized or moved.
  • Summarize the following layout classes: Panel, DockPanel, StackPanel, VirtualizingStackPanel, WrapPanel, Grid, and Canvas.
  • Show how to use various types of panel, such as Panel and DockPanel. Show the XAML and show how it appears graphically.
  • Show how to use a <Grid>. Show the XAML and show how it appears graphically.
  • Describe what content controls are.
  • Use content controls in a WPF application.
  • Describe what headered content controls are.
  • Use headered content controls in a WPF application.
  • Describe the ContentControl class and describe the Content property. List examples of content controls, including Button, CheckBox, ComboBoxItem, ListBoxItem, and ListViewItem.
  • Define a button that has a simple text content, and another button that has a UIElement (such as an Image) content.
  • Describe the HeaderedContentControl class and describe the Header and Content properties. List examples of headered control controls, including TabItem, GroupBox, and Expander.
  • Define a TabItem that has a simple text content and another TabItem that has a UIElement (such as an Image) content.
  • Describe what item controls are.
  • List some of the commonly used item controls in WPF.
  • Use item controls in a WPF application.
  • Handle item selection.
  • Describe the ItemsControl and HeaderedItemsControl classes. Describe the Items and ItemsSource content properties.
  • List examples of item controls, including Menu, ComboBox, ListBox, ListView, TreeView, and Selector.
  • Define menu items and list items in XAML, and how to add items dynamically in C# or VB code.
  • Write event handlers to handle item selection in a menu and a list.
  • Describe the benefits of defining and using resources in a WPF application.
  • Define window-specific static resources.
  • Access resources programmatically in a window.
  • Define and use dynamic resources.
  • Explain that resources enable commonly defined objects and values to be reused consistently in a window. Mention that resources can be defined and referenced in XAML and in code.
  • Explain that every framework-level element has a Resources property. Describe <Application>, <Window>, and <UserControl> as common examples. Describe how resources work internally.
  • Show an example of how to define window-specific static resources in XAML, and how to use the resource to set a property value.
  • Describe the scope of window-specific resources.

Module 4 - Taking Control of the User Interface

  • Define application-wide static and dynamic resources.
  • Reuse resources across applications.
  • Show an example of how to define application-wide static and dynamic resources in XAML, and how to use the resource to set a property value. Describe the scope of application-wide resources.
  • Define a resource dictionary in a theme, so that resources can be shared across applications.
  • Describe the benefits of defining and using styles in a WPF application.
  • Define styles in a XAML file.
  • Define styles that are based on other styles.
  • Set styles programmatically.
  • Explain that styles enable you to define common user interface properties. Mention that styles can be defined in XAML and in code.
  • Explain the syntax for defining styles in XAML (specify the TargetType and define property setters). Mention that you typically define styles in the Resources section of XAML, to achieve reusability.
  • Show how to define a simple <Style> to set properties such as font name, font size, and horizontal alignment.
  • Show how to extend styles by using the BasedOn property for a <Style>.
  • Describe the benefits of using templates in a WPF application.
  • Explain what custom templates are.
  • Define a template for a content control.
  • Define a template for an item control.
  • Use template binding.
  • Explain that controls have a ControlTemplate that governs the appearance and behavior of the control. Describe how control templates work.
  • Explain that you can define your own custom templates. Explain why you might want to do this.
  • Show an example of how to define a ControlTemplate for a ContentControl such as a Button.
  • Show an example of how to define a ControlTemplate for an ItemsControl such as a ListBox.
  • Introduce the concept of template binding, and show how to use template bindings in a ControlTemplate.
  • Describe the event model in WPF.
  • Handle simple events in a WPF application.
  • Describe how to define routed events.
  • Define routed events in a WPF application.
  • Describe how commands provide an abstraction layer between an event and its handler.
  • Define commands in WPF.
  • Introduce the commonly handled events, such as button clicks, text input, list selection, mouse activity, and focus management.
  • Add a simple event handler for a button click. Show the Click attribute on the <Button> element, and show the event handler method in the code-behind file.
  • Describe that an event can be routed up or down the visual tree. List the benefits of routed events.
  • Show an example of routed commands - e.g. some buttons in a panel with a Button.Click event handler on the panel.
  • Define the four main concepts in WPF commands: the command, the command source, the command target, and the command binding.
  • Show an example of how to define a command to provide a common handler for a button click and a menu item.
  • Show how to migrate a RoutedUICommand to a RelayCommand

Module 5 - Testing, Unit Testing, and Debugging

  • Implement a WPF test strategy.
  • Overview of unit testing WPF classes, especially with regards to typical architectural patterns such as MV-VM.
  • Overview of AutomationPeers and how to test user interface elements in WPF.
  • Debug XAML by using Visual Studio 2010.
  • Overview of XAML debugging features in Visual Studio 2010, including the WPF Visualizer and the PresentationTraceSources.
  • Provide user feedback for unhandled exceptions.
  • Overview of unhandled exceptions.
  • Describe where and when to handle unhandled exceptions.
  • Show how to provide user feedback for unhandled exceptions.
  • Implement security features.
  • Describe how to configure Software Restriction Policy (SRP).
  • Explain the difference between full trust and partially trusted security.
  • Overview of Code Access Security (CAS) policy.
  • Describe the features and benefits of User Account Control in Windows Vista and Windows 7.
  • Explain how to work with UAC in WPF applications.

Module 6 - Simple Data Binding and Validation

  • Describe the data binding model in WPF.
  • Explain the interaction between a binding target, binding object, and binding source.
  • Describe the data binding modes available in WPF.
  • Introduce the fact that WPF supports data binding, and describe that WPF enables elements to be bound to data from a variety of sources, such as a managed object, ADO.NET data objects, and XML data node, and a dependency object (that is, another user interface element).
  • Explain that ContentControls have built-in support for data binding.
  • Show a diagram that defines the terms "binding target", "binding object", and "binding source". The diagram should explain how a property in a binding source can be bound to a dependency property in the binding target. Given an example of binding the Text dependency property in a text box to a particular property in a managed object.
  • Describe the Mode property on a Binding object. Explain how you set the Mode to support one-way data binding, two-way data binding, one-way-to-source data binding, or one-time data binding. Explain how each mode works, and describe the data flow in each case. Also give examples of why you would use each mode.
  • Bind user interface element properties to a property on a class.
  • Bind multiple user interface elements in a panel to a common property.
  • Bind user interface elements to a full object.
  • Bind user interface elements to XML data.
  • Bind user interface elements to other user interface elements.
  • Explain how to bind a simple user interface element property (such as the Background property of a Button) to a property on a class.
  • Show an example that sets the Binding property and specifies values for the Source and Path properties. In the student notes, reiterate the four pieces of information needed to create a binding: the binding source, the path to the source value to use, the binding target, and the target property.
  • Explain how several elements can be bound to the same object. Place the elements in a panel, and specify the DataContext property for the panel by binding it to the binding source. Explain that all elements inside the panel inherit the binding from the panel.
  • Explain how to bind to XML data by setting the XPath property instead of the Path property.
  • Describe how and when to use the ElementName and RelativeSource properties to specify the binding source.
  • Describe how property changes in a binding source can be propagated to the binding target.
  • Propagate property changes in a binding source to the binding target.
  • Describe how value changes in a binding target can be propagated to the binding source.
  • Propagate value changes in a binding target to the binding source.
  • Describe the need for a property change notification mechanism to propagate changes in the binding source through to the binding target. Introduce the INotifyPropertyChanged interface.
  • Show an example of how to implement the INotifyPropertyChanged interface.
  • Describe the purpose of the UpdateSourceTrtigger property when using the two-way or one-way-to-source data binding modes
  • Explain the PropertyChanged and LostFocus values for this property, and describe the default behavior for various types of control.
  • Show an example of how to implement setting the UpdateSourceTrigger property on a control.
  • Describe the default data conversion model used in WPF data binding.
  • Explain how to define custom value converters.
  • Create and use a custom value converter.
  • Explain the importance of compatibility between the data type of the bound property in the binding source, and the data type of the dependency property in the binding target. Explain that default conversion will be applied automatically if possible. Include a diagram to show default conversion.
  • Explain the need for custom value converters. Describe the IValueConverter interface and show how to implement a simple converter.
  • Explain the Convert and ConvertBack methods.
  • Provide guidelines on when and how to define value converters.
  • Describe the default data validation model used in WPF data binding.
  • Use existing data validation rules in WPF data binding.
  • Provide visual feedback when validation fails.
  • Explain how the WPF data binding engine enforces the data validation rules.
  • Define and use custom validation rules.
  • Use the IDataErrorInfo interface to implement validation of business rules.
  • Explain the importance of data validation when using two-way or one-way-to-source data binding. Introduce the concept of validation rules, which enable an application to test the type, range, or format of data.
  • Show how to define validation rules and associate them with a Binding by using <Binding.ValidationRules> in XAML. List the available validation rules provided by the .NET Framework.
  • Explain how to provide visual feedback when validation fails, by using adornments.
  • Show how to define custom validation rules by defining a class that inherits from the ValidationRule class. Also give examples of when this is required.
  • Explain how to implement validation of business rules by using the IDataErrorInfo class.
  • Show how to provide visual feedback of business logic validation errors.
  • Present data at design time.
  • Explain the importance of using data at design time to assist in the layout and visualization of user interface elements.
  • Describe the DataContext, DesignInstance, DesignData, Source, DesignWidth, and DesignHeight design time properties in the http://schemas.microsoft.com/expression/blend/2008 namespace.
  • Show examples of how to use the design time properties to design a user interface element.
  • Show how to create design time data by using Expression Blend.

Module 7 - Data Binding to Collections

  • Describe scenarios where user interface elements can be bound to collections of data.
  • Implement one-way data binding to a collection of objects.
  • Describe how to define custom collection classes that support data binding and property change notifications.
  • Bind to an ADO.NET data object.
  • Describe scenarios where data binding to a collection is useful, such as binding to the results of a database query to a ListBox.
  • Show how to bind to a collection of objects by specifying the ItemsSource property for ItemsControl elements.
  • Describe the ObservableCollectoin class and explain the need for objects to implement the INotifyPropertyChanged interface for values to be updated automatically in the binding targets.
  • Define a collection class that inherits from the ObservableCollection class.
  • Summarize ADO.NET data objects and show how to bind to a DataSet.
  • Describe what a collection view is.
  • Create a collection view.
  • Sort data in a collection by using a collection view.
  • Filter data in a collection by using a collection view.
  • Group data in a collection by using a collection view.
  • Show examples that illustrate how to use collection views to sort, filter, and group data.
  • Describe what a master-detail view is.
  • Create a master-detail user interface that enables the user to view details for selected items in a collection.
  • Create a master-detail user interface that binds multiple controls to the same data source.
  • Create a master-detail user interface that uses a custom collection class.
  • Describe how CollectionViewSource objects synchronize the current item and selection from the user.
  • Describe the purpose of the IsSynchronizedWithCurrentItem property.
  • Describe what a data template is.
  • Create and use a data template.
  • Define a data template as a resource.
  • Use data triggers in a data template.
  • Select data templates based on properties of the data object.
  • Use styles and data templates with item controls.
  • Show the syntax for defining data templates.
  • Describe how to define user interface features such as borders and grids in a data template.
  • Present data collections at design time.
  • Show examples of how to use the design time properties to design a user interface element that contains a data collection.
  • Show how to create design time data collections by using Expression Blend.

Module 8 - Enhancing UI Responsiveness and Behaviours

  • Implement asynchronous processes by using the BackgroundWorker class.
  • Implement asynchronous processes by using the ThreadPool class.
  • Implement asynchronous processes by using the Dispatcher class.
  • Implement parallel processes by using the Parallel Extensions.
  • Overview of threading and asynchronous processing.
  • Explain the purpose of the BackgroundWorker class. Show how to use the BackgroundWorker class to report progress during long running processes.
  • Explain the purpose of the ThreadPool class. Show how to use the ThreadPool class to queue work items to perform long running processes on a different thread.
  • Describe the Dispatcher model used by WPF. Show how to perform asynchronous operations by using the Dispatcher class.
  • Describe the Parallel Extensions for the .NET Framework. Show how to perform tasks in parallel by using the Parallel class.
  • Implement a responsive user interface by using asynchronous processing.
  • Compare and contrast the different methods of performing asynchronous operations.
  • Describe when it is appropriate to use each of the various methods.
  • Implement drag and drop behavior in a WPF application.
  • Implement drag and drop behavior between application isntances.
  • Describe the key concepts of a drag source and a drop target.
  • Show different approaches to providing visual feedback during a drag and drop operation including, default cursors, custom cursors, and adorners.
  • Describe approaches to implementing drag and drop between application instances and which methods for displaying visual feedback can be used.
  • Describe the support for fixed and flow documents in WPF.
  • Define documents in XAML.
  • View fixed and flow documents.
  • Describe the support provided by WPF for the XML Paper Specification (XPS) file format.
  • Print XPS documents in WPF.
  • Describe how to control print jobs and specify printer capabilities.
  • Manage a printer and its output job queue.
  • Create a fixed document by using a <FixedDocument> element. Show how to define pages by using the <PageContent> element.
  • Show how to define a simple flow document in XAML by using a <FlowDocument> element. Include a few simple child elements such as <Paragraph> and <List>.
  • View a fixed document by using a DocumentViewer control.
  • View a flow document by using a FlowDocumentScrollViewer control.
  • Introduce the print system management APIs, the XPS file format, and the XPS print path.
  • Describe how to perform basic XPS printing by using a PrintDialog window.
  • Describe how to take greater control over printing by using the PrintTicker and PrintCapabilities classes.
  • Describe how to use the PrintServer and PrintQueue classes.

Module 9 - Integrating Localization and User Assistance Features

  • Describe WPF localization and globalization features.
  • Implement localized WPF applications.
  • Explain the difference between globalization and localization.
  • Describe the globalization and localization features provided by WPF, including localized satellite resource assemblies, the SizeToContent property, automatic sizing and layout, text wrapping, the xml:lang attribute, and the FlowDirection property.
  • Show how to implement a localized user interface by using the LocBaml SDK sample application.
  • Implement user assistance features.
  • Show how to provide context sensitive help by handling the ApplicationCommands.Help command.
  • Show how to provide user assistance by providing tooltips.
  • Implement user accessibility features.
  • Describe the automation APIs and accessibility features in WPF.
  • Show how to use the automation APIs to implement accessibility in WPF applications.

Module 10 - WPF 2D Graphics and Multimedia

  • Describe 2D graphics support in WPF.
  • Draw shapes on a canvas.
  • Describe how to use paths and geometries in 2D graphics.
  • Draw path geometries and path segments.
  • Fill shapes and geometries by using brushes and bitmaps.
  • Transform and animate 2D graphics.
  • Introduce the following concepts: geometries, shapes, drawings, brushes, images, and bitmaps.
  • List common types of shape that are used in 2D graphics.
  • Describe the Shape class and explain that it can be used inside panels and controls. List common subclasses, including Ellipse, Rectangle, Line, Path, Polygon, and Polyline. List some of the common properties of these classes, including Stroke, StrokeThickness, and Fill.
  • Describe the Geometry class and its subclasses, including LineGeometry, RectangleGeometry, and EllipseGeometry.
  • Describe how to stretch and/or transform a 2D graphic. Mention the various Transform class and give some examples. Also describe how to transform a user interface element and how to animate transforms.
  • Describe WPF imaging components.
  • Display images in WPF.
  • Rotate, convert, and crop images.
  • Use images to paint on a canvas.
  • Describe WPF image formats and show code to encode and decode image formats.
  • Show how to use the Image control.
  • Describe the support for multimedia in WPF.
  • Describe the media playback modes that are available in WPF.
  • Display media by using a MediaElement control.
  • Control the operation of a MediaElement control programmatically.
  • Play media by using a MediaPlayer control.
  • Summarize the key multimedia capabilities of WPF. Mention the MediaElement and MediaPlayer classes and summarize how they can be used to present audio and video content.
  • Introduce the concept of media playback modes. Describe how the independent and clock modes work. Explain how to configure each mode and describe their characteristics.
  • Show how to add a <MediaElement> element to XAML. Describe the following properties: LoadedBehavior, UnloadedBehavior, MediaClock, Width, and Height.
  • Show how to write code to create and control a MediaPlayer. Describe how MediaPlayer is designed to be used in conjunction with drawing objects, such as VideoDrawing.

Module 11 - Control Customization

  • Describe scenarios where you might need to create a new control.
  • List the options for creating new controls.
  • Describe when to create a new user control in a WPF application.
  • Describe when to create a new custom control in a WPF application.
  • Describe when to create a FrameworkElement-derived control in a WPF application.
  • Describe WPF features that minimize the need to define new controls, and then describe scenarios where a new control is required.
  • Describe the following options for creating new controls: deriving from UserControl; deriving from Control; and deriving from FrameworkElement.
  • Summarize the steps involved in creating a user control.
  • Define a simple user control in XAML.
  • Define the code-behind file for a user control.
  • Define dependency properties for a user control.
  • Define routed events for a user control.
  • Summarize the following steps: defining a <UserControl> element in XAML; defining logic and event-handling code in the code-behind class.
  • Show some simple even-handler code for a user control, and describe how to define routed events.
  • Summarize the steps involved in creating a custom control.
  • Define content for a custom control by using a template.
  • Display content for a custom control by using data binding.
  • Decouple event-handling for a custom control by using commands.
  • Define and use themes for a custom control.
  • Summarize the following steps: moving the content of a control into a template; using data binding and commands to achieve loose coupling; and using themes.
  • Modify the user control example from Lesson 2, so that the content is defined in template (for example, define an <Application.Resources> element that contains a <Style>, and then define a <ControlTemplate> that contains the elements for the custom control.)
  • Modify the code-behind for the user control from Lesson 2: change the base class from UserControl to Control; use data binding to display content; and use commands to decouple event-handling.
  • Describe the VisualStateManager.
  • Create visual states for a control.
  • Transition between visual states.
  • Describe the purpose and function of the VisualStateManager.
  • Show how to define different visual states for a control such as MouseOver and Pressed by using Expression Blend.
  • Show how to transition between visual states including animation between states.
  • Describe scenarios where a WPF application might need to use Windows Forms controls.
  • Describe scenarios where a Windows Forms application might need to use WPF controls.
  • Reference Windows Forms controls in a WPF application.
  • Reference WPF controls in a Windows Forms application.
  • Use Windows Forms controls in XAML.
  • Use WPF controls in Windows Forms.
  • Interact with Windows Forms controls in a WPF application.
  • Interact with WPF controls in a Windows Forms application.
  • Explain that many Windows Forms controls have equivalent controls in WPF, but some Windows Forms controls have no WPF equivalent. Give some examples of Windows Forms controls that do not have a WPF equivalent. Also explain that sometimes significant
  • investment in existing Windows Forms controls may necessitate reuse in WPF applications.
  • Explain that existing investment in WPF applications can be enhanced by integrating WPF controls.
  • Describe how to add a reference to the WindowsFormsIntegration and System.Windows.Forms assemblies in a WPF application.
  • Describe how to add a WPF control to a Windows Forms application and how to map standard Windows Forms properties to WPF properties.
  • Show how to write code in the code-behind file for XAML to interact with Windows Forms controls.

Module 12 - Attached Properties and Behaviors in WPF

  • Explain the purpose and function of attached properties.
  • List common attached properties provided by WPF.
  • Use attached properties in XAML and in code.
  • Implement attached properties.
  • Describe how to implement application behavior by using attached properties.
  • Describe the key concepts of attached properties as an extension of the dependency property system. Explain that attached properties are a type of global property that is settable on any object.
  • Common WPF attached properties include the DockPanel.Dock, Canvas.Left, and Canvas.Top properties.
  • Show how to use WPF attached properties by using a layout example in XAML that contains a DockPanel and by adding elements to a Canvas in code.
  • Show how to implement an attached property by calling the DependencyProperty.RegisterAttached method and defining the get and set accessors.
  • Show how to implement application behavior by providing a PropertyChangedCallback for the RegisterAttached method call.
  • Implement drag and drop behavior in a WPF application.
  • Implement drag and drop behavior between application instances.
  • Describe the key concepts of a drag source and a drop target.
  • Show different approaches to providing visual feedback during a drag and drop operation including, default cursors, custom cursors, and adorners.
  • Describe approaches to implementing drag and drop between application instances and which methods for displaying visual feedback can be used.
  • Explain the purpose and function of Expression Blend behaviors
  • List the key classes for implementing Expression Blend behaviors.
  • Explain the purpose and function of Expression Blend triggers and actions.
  • List the key classes for implementing Expression Blend triggers and actions.
  • Implement Expression Blend behaviors.
  • Implement Expression Blend triggers and actions.
  • Describe Expression Blend behaviors as a logical extension of application behaviors that are implemented by using attached properties.
  • Explain that Expression Blend behaviors are available in the designers in Expression Blend.
  • Expression Blend provides classes such as Behavior and Behavior<T> for implementing Expression Blend Behaviors.
  • Describe actions as an object that can be invoked to perform an object, such as changing a property, calling a method, opening a page, navigating to a page, or changing focus. Describe triggers as objects that contain one or more actions and invoke those actions in response to some stimulus. Explain that one very common trigger is the EventTrigger that fires in response to an event.
  • Expression Blend provides classes such as TriggerAction, TriggerAction<T>, and TargetedTriggerAction<T> for implementing triggers and actions.
  • Show how to implement a simple custom Expression Blend behavior to show a watermark in a TextBox, for example.
  • Show how to implement a simple custom Expression action to show a message box, for example.

Module 13 - Animations in WPF

  • Dscribe how animations can be used to enhance the user interface.
  • Create a storyboard.
  • Control the animation timeline.
  • Control the animation completion behavior.
  • Start animations by using code and by using XAML.
  • Explain what an animation is. Describe <BeginStoryboard>, <Storybord>, and various types of animation.
  • Show how to create a Storyboard by using Expression Blend. Show the corresponding XAML that Expression Blend generates.
  • Show how to control the animation timeline after it has started by using the Pause, Resume, Seek, and Stop methods.
  • Show how to change the behavior when an animation ends by using the FillBehavior and RepeatBehavior properties.
  • Show how to start an animation by using the Begin method and by using a BeginStoryboard action in XAML.
  • Describe the benefits of using triggers in a WPF application.
  • List the types of trigger available in WPF.
  • Define property triggers in an application.
  • Define event triggers and storyboards.
  • Explain what triggers are, and summarize some of their uses. Explain that Style, ControlTemplate, and DataTemplate have a Triggers property.
  • Explain property triggers, event triggers and storyboards, and multi triggers. Also mention data triggers and multi data triggers
  • Show an example of how to define property triggers. Include <Trigger>, <EnterActions> and <ExitActions> in the example.
  • Implement enhanced data visualizations by using animations.
  • Show how to provide a rich user experience for data visualizations by using the animation techniques presented in the previous lessons.

Module 14 - Application State, Settings, and Lifecycle

  • Create user-scoped settings.
  • Create application-scoped settings.
  • Describe the support for persisting settings in WPF applications.
  • Show how to create user-scoped settings with different data types.
  • Explain where user-scoped settings are stored.
  • Show how to create application-scoped settings with different data types.
  • Explain where application-scoped settings are stored.
  • Describe the additional support for web service URLs and connection strings provided by the Settings Designer.
  • Read user and application settings from persisted storage.
  • Edit, save, and reset user settings.
  • Show how to read settings by using the Properties.Settings class.
  • Show how to bind to settings by using the StaticResource markup extension.
  • Show the process to update user settings and explain that the settings are not physically updated until the Save method is called.
  • Explain that settings can be reset by calling the Reset method.
  • Describe scenarios when a custom configuration section may be required.
  • List the key configuration classes used to implement a section handler.
  • Implement a custom configuration section.
  • Overview of the scenarios when a custom configuration section is required.
  • Describe the key classes from the Configuration API: ConfigurationSection, ConfigurationSectionCollection, ConfigurationElementCollection, ConfigurationElement, ConfigurationCollectionAttribute, ConfigurationPropertyCollection, ConfigurationProperty, and ConfigurationPropertyAttribute.
  • Show how to create a custom configuration section by using the ConfigurationSection class.

Module 15 - Configure and Deploy Windows Client Applications

  • Describe the concept of full-trust applications and partial-trust applications.
  • List the application features that are available in partial-trust.
  • List the application features that are not available in partial-trust.
  • List additional features available to XBAP applications when they are launched from a local intranet.
  • List the features and benefits of the .NET Framework Client Profile.
  • Explain that the way to deploy an application depends on whether it is a standalone application or an XBAP application.
  • List the options available for deploying WPF applications.
  • Describe the differences between full-trust and partial-trust deployment.
  • Describe the differences between the full .NET Framework and the .NET Framework Client Profile. Explain the advantages of using the client profile.
  • Describe how to deploy a standalone application by using ClickOnce.
  • Describe how to deploy a standalone application by using Windows Installer.
  • Install the .NET Framework 4.0 on the client machine.
  • Explain that applications launched by using ClickOnce receive full trust.
  • Explain why the .NET Framework 4.0 is required on client machines.
  • List the files that must be deployed in an XBAP application.
  • Create and configure the deployment manifest file.
  • Create and configure the application manifest file.
  • Publish an XBAP to a Web Server.
  • Install an XBAP application on a client machine by using XCopy or Windows Installer.
  • Explain that the following files need to be deployed in an XBAP application: the executable assembly for the application; the deployment manifest (.xbap file); and the application manifest (.exe.manifest file).
  • After XBAP has been deployed to a Web Server, show how to browse to it by using Internet Explorer. Explain that applications launched in this way run in partial trust.
  • Describe that an XBAP application installed on a client machine by using XCopy or Windows Installer can run in full trust.
  • Describe how to use the Manifest Generation and Editing Tools, Mage.exe and MageUI.exe.
  • Set properties that are common to deployment manifests and application manifests.
  • Set properties that are specific to application manifests.
  • Set properties that are specific to deployment manifests.
  • List the command-line options available in Mage.exe.
  • Describe the key user interface elements available in MageUI.exe.
  • Use Mage.exe and MageUI.exe to set properties in deployment manifests and application manifests.

Fakta

Kurs
MS10262
Längd
5 dagar
Pris
24.500 kr (exkl. moms)
Bookmark and Share

Förkunskaper

Vi rekommenderar minst ett års erfarenhet av Windowsutveckling och kännedom om WPF motsvarande kurs MS6368

Förbereder för följande certifieringstest

Efterföljande utbildningar

Kursmaterial

Microsofts officiella elektroniska kursmaterial på engelska ingår.

I samarbete med:

Kontakta oss
för mer information:

08 - 587 116 10 (Stockholm)
031 - 773 07 90 (Göteborg)
040-662 20 60 (Malmö)
info@informator.se

 
Gold Partner
Novell Partner