Published: July 2, 2010
Languages: English
Audiences: Developers
Technology: Microsoft Visual Studio 2010
Credit toward certification: MCTS

Skills measured
This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Building a user interface by using basic techniques (23%)
Choose the most appropriate control class
Evaluating design requirements and then selecting the most appropriate control based on those requirements; recognizing when none of the standard controls meet requirements; item controls, menu controls, content controls
This objective does not include: designing a custom control
Implement screen layout by using nested control hierarchies
Using panel-derived controls, attaching properties
This objective does not include: items controls, control customization
Create and apply styles and theming
Application-level styles, overriding styles, style inheritance, Generic.xaml, theming attributes
This objective does not include: data-grid view style sharing
Manage reusable resources
Fonts, styles, data sources, images, resource dictionaries, resource-only DLLs
Implement an animation in WPF
Creating a storyboard; controlling timelines; controlling the behavior when the animation completes; double, color, and point animations; starting an animation from code and from XAML
This objective does not include: direct rendering updates, implementing key frame animations

Preparation resources
Styling and templating
Layout system
Animation tips and tricks

Enhancing a user interface by using advanced techniques (21%)
Manage routed events in WPF
Tunneling vs. bubbling events, handling and cancelling events
This objective does not include: simple event handling; creating custom events
Configure WPF commanding
Defining WPF commands based on RoutedCommand; associating commands to controls; handling commands; command bindings; input gestures
This objective does not include: creating custom commands by implementing ICommand
Modify the visual interface at run time
Adding/removing controls at run time; manipulating the visual tree; control life cycle; generating a template dynamically
This objective does not include: instantiating forms and simple modification of control properties at runtime
Implement user-defined controls
Deciding whether to use a user/composite, extended, or custom control; creating a user/composite control; extending from an existing control
This objective does not include: creating a custom control by inheriting directly from the control class and writing code
Create and display graphics
Creating and displaying graphics by using geometric transformation; brushes; drawing shapes; clipping; double buffering; overriding render (WPF) and OnPaint (WinForms); differentiating between retained and non-retained graphics
This objective does not include: creating and displaying three-dimensional graphics; hit testing; creating images
Add multimedia content to an application in WPF
Media player vs. media element; adding a sound player; images
This objective does not include: buffering
Create and apply control templates in WPF
Template binding
This objective does not include: styling and theming; data templating
Create data, event, and property triggers in WPF

Preparation resources
Input and commands how-to topics
Control styles and templates

Managing data at the user interface layer (23%)
Implement data binding
Binding options, static and dynamic resources, element bindings, setting the correct binding mode and update mode; binding to nullable values
This objective does not include: binding to a specific data source
Implement value converters in WPF
Implementing custom value converters, implementing multivalue converters
Implement data validation
Handling validation and providing user feedback via the error provider (WinForms) or data templates (WPF), IDataErrorInfo, validation control, form validation and control validation
Implement and consume change notification interfaces
Implementing INotifyPropertyChanged; using INotifyCollectionChanged (ObservableCollection)
Prepare collections of data for display
Filtering, sorting, and grouping data; LINQ; CollectionView (WPF), BindingSource object (WinForms)
Bind to hierarchical data
TreeView; MenuControl
Implement data-bound controls
Using the DataGridView (WinForms) or DataGrid (WPF) control to display and update the data contained in a data source, implementing complex data binding to integrate data from multiple sources; ItemsControl-derived controls (WPF)
Create a data template in WPF
Implementing a data template selector; using templates with ItemsControl

Preparation resources
Data binding (WPF)
DataGrid

Enhancing the functionality and usability of a solution (17%)
Integrate WinForms and WPF within an application
Using ElementHosts within WinForms and ControlHosts within WPF; using the PropertyMap property
Implement asynchronous processes and threading
Implementing asynchronous programming patterns; marshalling between threads; freezing UI elements; using timers; task parallel library; parallel LINQ; using the dispatcher; BackgroundWorker component
Incorporate globalization and localization features
Loading resources by locale; marking localizable elements; using culture settings in validators and converters; using language properties and rendering direction properties; working with resource files for localization; determining installed locales; regional settings
Implement drag and drop operations within and across applications
This objective does not include: Dynamic Data Exchange (DDE)
Implement security features of an application
Configuring Software Restriction Policy (SRP); full trust and partially trusted security; interoperability with legacy CAS policy; User Account Control (UAC)
Manage user and application settings
Creating application settings; creating user settings; loading and saving settings
This objective does not include: persisting to database
Implement dependency properties
Enabling data binding and animation, property metadata, property change callbacks

Preparation resources
WPF and Windows Forms interoperation
How to: Perform drag-and-drop operations between applications
Dependency properties overview

Stabilizing and releasing a solution (16%)
Implement a WPF test strategy
Automation peer, UI automation, IntelliTrace
Debug XAML by using the WPF visualizer
Accessing the visualizer, drilling down into the visual tree, viewing and changing properties
This objective does not include: setting a breakpoint and stepping through code
Debug WPF issues by using PresentationTraceSources
Animation, data binding, dependency properties
Configure a ClickOnce deployment
Configuring the installation of a WinForms, WPF, or XBAP application by using ClickOnce technology; choosing appropriate settings to manage upgrades
Create and configure a Windows installer project
Configuring a setup project to add icons during setup, setting deployment project properties, configuring conditional installation based on operating system versions, setting appropriate launch conditions based on the .NET framework version, adding custom actions to a setup project, adding error-handling code to a setup project
Configure deployment security settings
Configuring and integrating UAC by using ClickOnce deployments; setting appropriate security permissions to deploy the application

Preparation resources
Debugging WPF – WPF Tree Visualizer and helper class
PresentationTraceSources class
How to: Use ClickOnce to deploy applications that can run on multiple versions of the .NET Framework


QUESTION 1
You use Microsoft .NET Framework 4 to create a Windows Forms application.
You add a new class named Customer to the application. You select the Customer class to create a new object data source.
You add the following components to a Windows Form:
? A BindingSource component named customerBindingSource that is data-bound to the Customer object data source.
? A set of TextBox controls to display and edit the Customer object properties. Each TextBox control is data-bound to a property of the customerBindingSource component.
? An ErrorProvider component named errorProvider that validates the input values for each TextBox control.
You need to ensure that the input data for each TextBox control is automatically validated by using the ErrorProvider component.
Which two actions should you perform? (Each correct answer presents part of the solution. Choose two.)

A. Implement the validation rules inside the Validating event handler of each TextBox control by throwing an exception when the value is invalid.
B. Implement the validation rules inside the TextChanged event handler of each TextBox control by throwing an exception when the value is invalid.
C. Implement the validation rules inside the setter of each property of the Customer class by throwing an exception when the value is invalid.
D. Add the following code segment to the InitializeComponent method of the Windows Form.
this.errorProvider.DataSource = this.customerBindingSource;
E. Add the following code segment to the InitializeComponent method of the Windows Form.
this.errorProvider.DataSource = this.customerBindingSource.DataSource; this. errorProvider. DataMember = this. customerBindingSource. DataMember;

Answer: C,D


QUESTION 2
You use Microsoft Visual Studio 2010 and Microsoft .NET Framework 4 to create a Windows Presentation Foundation (WPF) application.
The application contains a ListBox control named IbxItems that is data-bound to a collection of objects. Each object has a DisplayValue property.
You add a Button control to the application.
You need to ensure that the Content property of the Button control is data-bound to the DisplayValue property of the selected item of IbxItems.
Which binding expression should you use?

A. {Binding ElementName= IbxItems, Source=SelectedItem, Path=DisplayValue}
B. {Binding Source=lbxItems, ElementName=SelectedItem, Path=DisplayValue}
C. {Binding ElementName=lbxItems, Path=SelectedItem.DisplayValue}
D. {Binding Source=lbxItems, Path=SelectedItem.DisplayValue}

Answer: C


QUESTION 3
You use Microsoft Visual Studio 2010 and Microsoft .NET Framework 4 to create a Windows Presentation Foundation (WPF) application.
You write the following code fragment.
< TextBox Text=”{Binding Path=StringMember} ” / >
You need to ensure that the StringMember property of the data-bound object is updated immediately when the user types in the TextBox control.
Which binding expression should you use?

A. { Binding Path=StringMember, Mode=TwoWay }
B. { Binding Path=StringMember, NotifyOnSourceUpdated=True }
C. { Binding Path-StringMember, NotifyOnTargetUpdated=True }
D. { Binding Path=StringMember, UpdateSourceTrigger=PropertyChanged }

Answer: D


QUESTION 4
You use Microsoft .NET Framework 4 to create a Windows Presentation Foundation (WPF) application.
You add a ListBox control to the application. The ListBox control is data-bound to an instance of a custom collection class of the Product objects named ProductList.
The number of items of the data-bound collection is fixed. However, users can modify the properties of each of the Product objects in the collection.
You need to ensure that changes made on the Product objects are automatically reflected in the ListBox control.
What should you do?

A. Implement the INotifyPropertyChanged interface in the Product class.
B. Implement the INotifyCollectionChanged interface in the ProductList class.
C. Set the Mode property of the Binding object of the ListBox control to TwoWay.
D. Set the UpdateSourceTrigger property of the Binding object of the ListBox control to PropertyChanged.

Answer: A

Click here to view complete Q&A of 70-511 exam
Certkingdom Review

MCTS Training, MCITP Trainnig

Best Microsoft MCTS Certification, Microsoft 70-511 Training at certkingdom.com