###BeginCaseStudy###
Case Study: 1
Scenario 1
Background
You are developing a Windows Store app by using C# and XAML. The app will allow users
to share and rate photos. The app will also provide information to users about photo
competitions.
Application Structure
The app stores data by using a class that is derived from the DataStoreBase class.
The app coordinates content between users by making calls to a centralized RESTful web
service.
The app has a reminder system that displays toast notifications when a photo competition is
almost over. The app gets the competition schedule data from the web service.
The app displays a list of images that are available for viewing in a data-bound list box. The
image file list stores paths to the image files. The app downloads new images from the web
service on a regular basis.
Relevant portions of the app files are shown. (Line numbers are included for reference only
and include a two-character prefix that denotes the specific file to which they belong.)
Business Requirements
The app must allow users to do the following:
• Run the app on a variety of devices, including devices that have limited bandwidth
connections.
• Share and synchronize high resolution photographs that are greater than 1 MB in size.
• Rate each photo on a scale from 1 through 5.
Technical Requirements
The app must meet the following technical requirements:
• Retain state for each user and each device.
• Restore previously saved state each time the app is launched.
• Preserve user state and photo edits when switching between this app and other apps.
• When the app resumes after a period of suspension, refresh the user interface, tile
images, and data with current information from the web service.
• Update the image list box as new images are added to the image file list.
• Convert the image paths into images when binding the image file list to the list box.
The app must store cached images on the device only, and must display images or
notifications on the app tile to meet the following requirements:
• Regularly update the app tile with random images from the user’s collection
displayed one at a time.
• When a photo is displayed on the tile, one of the following badges must be displayed:
• If the photo has a user rating, the tile must display the average user rating as a badge.
• If the photo does not have a rating, the tile must display the Unavailable glyph as a badge.
• Update the app tile in real time when the app receives a notification.
• Display only the most recent notification on the app tile.
The app must display toast notifications to signal the end of a photo competition. The toast
notifications must meet the following requirements:
• Display toast notifications based on the schedule that is received from the web service.
• Display toast notifications for as long as possible.
• Display toast notifications regardless of whether the app is running.
• When a user clicks a toast notification that indicates the end of the photo
competition, the app must display the details of the photo competition that triggered
the toast notification.
###EndCaseStudy###
You need to choose the appropriate data binding strategy for the image list box.
Which method should you use?
A.
System.Drawing.ImageConverter.ConvertToString()
B.
IValueConverter.ConvertBack()
C.
IValueConverter.Convert()
D.
System.Drawing. ImageConverter-ConvertFromStrin()
Explanation:
IValueConverter.Convert
The data binding engine calls this method when it propagates a value from the binding
source to the binding target.