Exam Name: Microsoft Silverlight 4 Development Exam
Exam Code: 70-506
You can get access to Microsoft 70-506 exam questions and answers and practice test software at Real Exams.
Following is the sample exam for Microsoft 70-506 exam. The whole exam can be accessed at Real Exams site.
Question: 1.
You
are developing a Silverlight 4 application.
The application
defines the following three event handlers. (Line numbers are included for
refer ence only.)
01 private void
HandleCheck(object sender, RoutedEventArgs e)
02 {
03 MessageBox.Show("Checked");
04 }
05
06 private void
HandleUnchecked(object sender, RoutedEventArgs e)
07 {
08
MessageBox.Show("Unchecked");
09 }
10
11 private void
HandleThirdState(object sender, RoutedEventArgs e)
12 {
13
MessageBox.Show("Indeterminate");
14 }
You need to allow a
check box that can be selected, cleared, or set to Indeterminate. You also need
to ensure that the event handlers are invoked when the user changes the state
of the control. Which XAML fragment should you use?
A.
<CheckBox x:Name="cb2" Content="Three State CheckBox"
IsChecked="True" Checked="Handle Check "Indeterminate =
"Handle Unchecked" Unchecked = "Handle Unchecked" />
B.
<CheckBox x:Name="cb2" Content="Three State CheckBox"
IsThreeState="True" Checked="HandleCheck" Indeterminate =
"Handle Third State"
Unchecked ="Handle Unchecked" />
C.
<CheckBox x:Name="cb2" Content="Three State Check Box"
Is HitT est Visible ="True" Checked ="Handle Check"
Indeterminate ="Handle
Third State"
Unchecked="HandleUnchecked" />
D.
<CheckBox x:Name="cb2" Content="Three State CheckBox"
IsEnabled="True" Checked="Handle Check" Indeterminate
="Handle Unchecked" Unchecked ="Handle Unchecked" />
Answer: B
Question: 2.
You are developing a
Silverlight 4 application.
The application
contains an XAML page that defines the following Grid control.
<Grid
Name="gridBody" >
<Grid.RowDefinitions>
<RowDefinition
/>
<RowDefinition
/>
</Grid.RowDefinitions>
<TextBlock
Text="Employee Info" />
<TextBlock
Text="Please enter employee info" Grid.Row="1"
Height="20"
VerticalAlignment="Top"
/>
<TextBox
x:Name="EmpInfo" Grid.Row="1" Margin="0,25,0,0"
TextWrapping="Wrap"
/></Grid> The codebehind
file for myPage.xaml
contains the following code segment. (Line numbers are
included f or
reference only.)
01 public myPage()
02 {
03 InitializeComponent();
04
05 UserControl
control = new MyCustomControl();
06
07 }
You need to replace
the contents of the second row of gridBody with a user control of the MyCu stomControl
type. Which code segment should you insert at line 06?
A. gridBody.Children.Insert(1,
control);
B.
gridBody.RowDefinitions.Remove(gridBody.RowDefinitions[1]); gridBody.Children.Insert(1,
control);
C.
gridBody.Children.Clear(); Grid.SetRow(control, 1);
gridBody.Children.Add(control);
D.
List<UIElement> remove = gridBody.Children.Where(c => c is
FrameworkElement && Grid.GetRow((FrameworkElement)c) == 1).ToList();
foreach (UIElement element in
remove)
{
gridBody.Children.Remove(element);
}
Grid.SetRow(control, 1);
gridBody.Children.Add(control);
Answer: D
Question: 3.
You are developing a
Silverlight 4 application. The application defines the following XAML fragment.
(Line numbers are included for reference only.)
01 <ComboBox>
02 <ComboBoxItem
Content="Item 1" />
03 <ComboBoxItem
Content="Item 2" />
04 <ComboBoxItem
Content="Item 3" />
05 </ComboBox>
The codebehind
file contains the
following code segment. (Line numbers are included for reference only.)
06 void
PrintText(object sender, SelectionChangedEventArgs args){
07
08 MessageBox.Show(
"You selected " + cbi.Content.ToString() + ".");
09 }
You need to ensure
that when the user selects an item in a ComboBox control, the content of t he
item is displayed. What should you do?
A. Replace the
following XAML fragment at line 01. <ComboBox
SelectionChanged="PrintText">
Add the following code segment at line 07.
ComboBoxItem cbi = ((sender as
ComboBox).SelectedItem as ComboBoxItem);
B. Replace the
following XAML fragment at line 01. <ComboBox
SelectionChanged="PrintText">
Add the following code segment at line 07.
ComboBoxItem cbi = ((sender as
ComboBox).SelectedIndex as ComboBoxItem);
C. Replace the
following XAML fragment at line 01. <ComboBox
DropDownClosed="PrintText">
Add the following code segment at line 07.
ComboBoxItem cbi = ((sender as
ComboBox).SelectedItem as ComboBoxItem);
D. Replace the
following XAML fragment at line 01. <ComboBox
DropDownClosed="PrintText">
Add the following code segment at line 07.
ComboBoxItem cbi = ((sender as
ComboBox).SelectedIndex as ComboBoxItem);
Answer: A
Question: 4.
You are developing a
Silverlight 4 application.
You have a collection
named ColPeople of the List<Person> type. You define the Person class
according to the following code segment.
public class Person
{
public string Name
{get; set;}
public string
Description { get; set; } public string Gender { get; set; } public int Age {
get; set; }
public int Weight {
get; set; }
}
You need to bind
ColPeople to a ComboBox so that only the Name property is displayed.
Which XAML fragment
should you use?
A.
<ComboBox DataContext="{Binding ColPeople}"
ItemsSource="{Binding ColPeople}" DisplayMemberPath="Name"
/>
B.
<ComboBox DataContext="{Binding Person}"
ItemsSource="{Binding Person}" DisplayMemberPath="ColPeople"
/>
C. <ComboBox
DataContext="{Binding ColPeople}" DisplayMemberPath="Name"
/>
D. <ComboBox
DataContext="{Binding Person}" />
Answer: A
Question: 5.
You are developing a
Silverlight 4 application. You define an Invoice object according to the following
code segment. Public class Invoice
{
public int InvoiceId
{ get; set; } public double Amount { get; set; } public Supplier
Supplier { get; set;
}
public DateTime
InvoiceDate { get; set; } public DateTime PayDate { get; set; } public
string
InvoiceDescription { get; set; }
}
You need to display a
list of invoices that have the following properties displayed on
each line: I
nvoiceId, Amount, and
InvoiceDate. Which XAML fragment should you use?
A. <ListBox
x:Name="InvoiceListBox">
<StackPanel
Orientation="Horizontal">
<TextBlock Text="{Binding
Path=InvoiceId}" />
<TextBlock Text="{Binding
Path=Amount}" />
<TextBlock Text="{Binding
Path=InvoiceDate}" />
</StackPanel>
</ListBox>
B. <ListBox
x:Name="InvoiceListBox">
<StackPanel
Orientation="Horizontal">
<ListBoxItem>
<TextBlock Text="{Binding
Path=InvoiceId}" />
</ListBoxItem>
<ListBoxItem>
<TextBlock Text="{Binding
Path=Amount}" />
</ListBoxItem>
<ListBoxItem>
<TextBlock Text="{Binding
Path=InvoiceDate}" />
</ListBoxItem>
</StackPanel>
</ListBox>
C. <ListBox
x:Name="InvoiceListBox">
<ListBox.Items>
<ItemsPanelTemplate>
<StackPanel
Orientation="Horizontal">
<TextBlock Text="{Binding
Path=InvoiceId}" />
<TextBlock Text="{Binding
Path=Amount}" />
<TextBlock
Text="{Binding Path=InvoiceDate}" />
</StackPanel>
</ItemsPanelTemplate>
</ListBox.Items>
</ListBox>
D. <ListBox
x:Name="InvoiceListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<TextBlock
Text="{Binding Path=InvoiceId}" />
<TextBlock Text="{Binding
Path=Amount}" />
<TextBlock Text="{Binding
Path=InvoiceDate}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Answer: D
Question: 6.
You are developing a
Silverlight 4 application. You define the visual behavior of a custom control
in the ControlTemplate by defining a VisualState object named Selected. You
need to change the visual state of the custom control to the selected state. Which
code segment or XAML fragment should you use?
A.
VisualStateManager.GoToState( this, "Selected", true );
B.
<VisualTransition To="Selected">
<Storyboard>
</Storyboard>
</VisualTransition>
C.
<VisualTransition From="Selected">
<Storyboard>
</Storyboard>
</VisualTransition>
D. public static
readonly DependencyProperty SelectedProperty =
DependencyProperty.Register("Selected",
typeof(VisualState), typeof(MyControl), null);
public VisualState Selected
{
get { return (VisualState)GetValue(SelectedProperty);
}
set { SetValue(SelectedProperty, value); }
}
Answer: A
Question: 7.
You are developing an
application by using Silverlight 4 and Microsoft .NET Framework 4. You create a
new user control in the application. You add the following XAML fragment to the
control.
<StackPanel
KeyDown="App_KeyDown" Orientation="Vertical">
<TextBox
x:Name="firstName" />
<TextBox
x:Name="lastName" />
<TextBox
x:Name="address" />
</StackPanel>
You add the following
code segment in the code behind
file of the control.
(Line numbers are included for reference only.)
01 private void
App_KeyDown(object sender, KeyEventArgs e)
02 {
03
04 }
05
06 private void
FirstAndLastNameKeyDown()
07 {
08 ...
09 }
You need to ensure
that the First And LastName KeyDown method is invoked when a key
is pressed while the
focus is on the firstName or lastName TextBox controls. You also need to ensure
that the default behavior of the controls remains unchanged.
Which code segment
should you add at line 03?
A. if
(((FrameworkElement)sender).Name == "firstName" ||
((FrameworkElement)sender).Name ==
"lastName")
{
FirstAndLastNameKeyDown();
}
e.Handled = false;
B. if
(((FrameworkElement)sender).Name == "firstName" ||
((FrameworkElement)sender).Name ==
"lastName")
{
FirstAndLastNameKeyDown();
}
e.Handled = true;
C. if
(((FrameworkElement)e.OriginalSource).Name == "firstName" ||
((FrameworkElement)e.OriginalSource).Name
== "lastName")
{
FirstAndLastNameKeyDown();
}
e.Handled = false;
D. if
(((FrameworkElement)e.OriginalSource).Name == "firstName" ||
((FrameworkElement)e.OriginalSource).Name
== "lastName")
{
FirstAndLastNameKeyDown();
}
e.Handled = true;
Answer: C
Question: 8.
You are developing an
application by using Silverlight 4 and Microsoft .NET Framework 4. The
application has a TextBox control named txtName. You need to handle the event when
txtName has the focus and the user presses the F2 key. Which two actions should
you perform? (Each correct answer presents part of the solution. Choose two.)
A. txtName.KeyDown +=
new KeyEventHandler(txtName_KeyDown);
B. txtName.LostFocus
+= new RoutedEventHandler(txtName_LostFocus);
C.
txtName.TextChanged += new TextChangedEventHandler(txtName_TextChanged);
D. void
txtName_TextChanged(object sender, TextChangedEventArgs e)
{
if ((Key)e.OriginalSource == Key.F2)
{
//Custom logic
}}
E. void
txtName_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F2)
{
//Custom logic
}}
F. void
txtName_LostFocus(object sender, RoutedEventArgs e)
{
if ((Key)e.OriginalSource == Key.F2)
{
//Custom logic
}
Answer: AE
Question: 9.
You are developing an
application by using Silverlight 4 and Microsoft .NET Framework
4. The application
contains the following XAML fragment.
<TextBlock
x:Name="QuoteOfTheDay" />
The application calls
a Windows Communication Foundation (WCF) service named
MyService t hat
returns the quote of the day and assigns it to the QuoteOfTheDay TextBlock.
The application
contains the following code segment. (Line numbers are included for reference
only.)
01 var client = new
MyService.MyServiceClient();
02
client.GetQuoteOfTheDayCompleted += (s, args) => QuoteOfTheDay.Text =
args.Result;
03
client.GetQuoteOfTheDayAsync();
You need to handle
errors that might occur as a result of the service call. You also need to
provide a default value of "Unavailable" when an error occurs.
Which code segment
should you replace at lines 02 and 03?
A. QuoteOfTheDay.Text
= "Unavailable";
client.GetQuoteOfTheDayCompleted += (s,
args) => QuoteOfTheDay.Text =
args.Result;
client.GetQuoteOfTheDayAsync();
B.
client.GetQuoteOfTheDayCompleted += (s, args) =>
{
if (args.Result != null)
{
QuoteOfTheDay.Text = args.Result;
}
else
{
QuoteOfTheDay.Text =
"Unavailable";
}
};
client.GetQuoteOfTheDayAsync();
C.
client.GetQuoteOfTheDayCompleted += (s, args) => QuoteOfTheDay.Text =
args.Result;
try
{
client.GetQuoteOfTheDayAsync();
}
catch (Exception ex)
{
// TODO: handle exception
QuoteOfTheDay.Text =
"Unavailable";
}
D.
client.GetQuoteOfTheDayCompleted += (s, args) =>
{
if (args.Error == null)
{
QuoteOfTheDay.Text = args.Result;
}e
lse
{
// TODO: handle error
QuoteOfTheDay.Text =
"Unavailable";
}
};
client.GetQuoteOfTheDayAsync();
Answer: D
Question: 10.
You are developing an
application by using Silverlight 4 and Microsoft .NET Framework 4.
You create a Windows
Communication Foundation (WCF) Data Service. You add a ser ice reference to the
WCF Data Service named NorthwindEntities in the Silverlight application. You also
add a CollectionViewSource object named ordersViewSource in the Silverlight
application.
You add the following
code segment. (Line numbers are included for reference only.)
01 void
getOrders_Click(object sender, RoutedEventArgs e)
02 {
03 var context = new
NorthwindEntities();
04
05 var query = from order
in context.Orders
06 select order;
07
08 }
You need to retrieve
the Orders data from the WCF Data Service and bind the data to the
ordersViewSource
object.
Which two actions
should you perform?
(Each correct answer
presents part of the solution. Choose two.)
A. Add the following
code segment at line 04.
var obsCollection = new
ObservableCollection<Order>();
B. Add the following
code segment at line 04.
var dsOrders = new
DataServiceCollection<Order>();
dsOrders.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(
(dsc, args) =>
{
});
ordersViewSource.Source = dsOrders;
C. Add the following
code segment at line 07. dsOrders.LoadAsync(query);
D. Add the following
code segment at line 07. dsOrders.Load(query);
E. Add the following
code segment at line 07. query.ToList().ForEach(o =>
obsCollection.Add(o));
ordersViewSource.Source = obsCollection;
Answer: BC