Apr 2016 updated: Testking Microsoft 70-502 actual test 1-16

70-502 Royal Pack Testengine pdf

100% Actual & Verified — 100% PASS

Unlimited access to the world's largest Dumps library! Try it Free Today!

Get it now →

Product Description:
Exam Number/Code: 70-502
Exam name: TS: Microsoft .NET Framework 3.5 - Windows Presentation Foundation
n questions with full explanations
Certification: Microsoft Certification
Last updated on Global synchronizing

Free Certification Real IT 70-502 Exam pdf Collection

Simulation of 70-502 dumps materials and forum for Microsoft certification for IT engineers, Real Success Guaranteed with Updated 70-502 pdf dumps vce Materials. 100% PASS TS: Microsoft .NET Framework 3.5 - Windows Presentation Foundation exam Today!

2016 Apr 70-502 Study Guide Questions:

Q1. You are creating Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

The application has a TreeView class that builds the directory tree for a given directory. You write the following class that represents a directory. 

class Folder  

{

  public readonly string Name

  {

    get { ... ;} 

  }    

  public readonly List<Folder> Subfolders  

  {

    get { ... ;} 

  }

}

You write the following code segment. 

(Line numbers are included for reference only.) 

01 TreeView  tree = new TreeView() ;

02 Folder folder = new Folder("C:\\");

03 

04 FrameworkElementFactory labelFactory = new  FrameworkElementFactory(typeof(TextBlock)) ;

05 

06 template.VisualTree = labelFactory ;

07 tree.ItemTemplate = template;

08 tree.ItemsSource = folder.Subfolders; 

You need to ensure that the TreeView class displays nodes that correspond to the child folders of the C:\ drive. 

Which code segments should you insert at lines 03 and 05? 

A. 1. Insert the following code segment at line 03. 

HierarchicalDataTemplate template = new HierarchicalDataTemplate(folder);

template.ItemsSource = new Binding("Subfolders") ;

2. Insert the following code segment at line 05.

labelFactory.SetBinding(TextBlock.TextProperty, new Binding("Name")) ;

B. 1. Insert the following code segment at line 03. 

HierarchicalDataTemplate template = new HierarchicalDataTemplate(typeof(Folder));

template.ItemsSource = new Binding("Subfolders");

2. Insert the following code segment at line 05. 

labelFactory.SetBinding(TextBlock.TextProperty, new Binding("Name")) 

C. 1. Insert the following code segment at line 03. 

HierarchicalDataTemplate  template = new HierarchicalDataTemplate("Folder");

template.ItemsSource = new Binding("Name");

2. Insert the following code segment at line 05. 

labelFactory.SetBinding(TextBlock.TextProperty, new Binding("Subfolders")) 

D. 1. Insert the following code segment at line 03. 

HierarchicalDataTemplate template = new HierarchicalDataTemplate("Folder");

template.ItemsSource = new Binding("Folder.Subfolders");

2. Insert the following code segment at line 05.

labelFactory.SetBinding(TextBlock.TextProperty, new Binding("Folder.Name")) 

Answer: B


Q2. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

You write the following XAML code fragment. 

(Line numbers are included for reference only.) 

01 <DockPanel> 

02   <DockPanel.Resources> 

03     <Style TargetType="Button"> 

04       <Style.Triggers> 

05 

06       </Style.Triggers> 

07     </Style> 

08   </DockPanel.Resources> 

09   <Button Content="Cut"> 

10     <Button.Triggers> 

11 

12     </Button.Triggers> 

13   </Button> 

14 </DockPanel> 

You need to ensure that the following requirements are met: 

 When the mouse is over the button, the foreground of the button turns yellow. 

 When the button is pressed, the foreground of the button turns green. 

What should you do? 

A. Insert the following XAML code fragment at line 11. 

<Trigger Property="Button.IsMouseOver" Value="True"> 

  <Setter Property="Button.Foreground" Value="Yellow"/>

</Trigger>

<Trigger Property="Button.IsPressed" Value="True"> 

  <Setter Property="Button.Foreground" Value="Green"/>

</Trigger> 

B. Insert the following XAML code fragment at line 11. 

<Trigger Property="Button.IsPressed" Value="True"> 

  <Setter Property="Button.Foreground" Value="Green"/>

</Trigger>

<Trigger Property="Button.IsMouseOver" Value="True"> 

  <Setter Property="Button.Foreground" Value="Yellow"/>

</Trigger> 

C. Insert the following XAML code fragment at line 05. 

<Trigger Property="IsMouseOver" Value="True"> 

  <Setter Property="Foreground" Value="Yellow"/>

</Trigger>

<Trigger Property="IsPressed" Value="True"> 

  <Setter Property="Foreground" Value="Green"/>

</Trigger> 

D. Insert the following XAML code fragment at line 05. 

<Trigger Property="IsPressed" Value="True"> 

  <Setter Property="Foreground" Value="Green"/>

</Trigger>

<Trigger Property="IsMouseOver" Value="True"> 

  <Setter Property="Foreground" Value="Yellow"/>

</Trigger> 

Answer: C


Q3. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

The application defines a BrowserWindow class. Each instance of the BrowserWindow class allows the user to browse a Web site in a separate window.

When a new browser window is opened, the user is redirected to a predefined URL. 

You write the following code segment. 

01 private void OpenNewWindow(object sender, RoutedEventArgs e)

02 {

03   Thread newWindowThread = new Thread(new ThreadStart(NewThreadProc));

04

05   newWindowThread.Start();

06 }

07 private void NewThreadProc()

08 {

09 

10 }

You need to ensure that the following requirements are met: 

 The main window of the application is not blocked when an additional browser window is created. 

 The application completes execution when the main window of the application is closed. 

What should you do? 

A. Insert the following code segment at line 04. 

newWindowThread.SetApartmentState(ApartmentState.STA);

newWindowThread.IsBackground = true;

Insert the following code segment at line 09. 

BrowserWindow newWindow = new BrowserWindow();

newWindow.Show();

Application app = new Application();

app.Run(newWindow);

B. Insert the following code segment at line 04. 

newWindowThread.IsBackground = true;

Insert the following code segment at line 09. 

newWindowThread.SetApartmentState(ApartmentState.STA);

BrowserWindow newWindow = new BrowserWindow();

newWindow.Show();

Application app = new Application();

app.Run(newWindow);

C. Insert the following code segment at line 04. 

newWindowThread.SetApartmentState(ApartmentState.STA);

newWindowThread.IsBackground = false;

Insert the following code segment at line 09. 

BrowserWindow newWindow = new BrowserWindow();

System.Windows.Threading.Dispatcher.Run();

newWindow.Show();

D. Insert the following code segment at line 04.

newWindowThread.SetApartmentState(ApartmentState.STA);

newWindowThread.IsBackground = true;

Insert the following code segment at line 09. 

BrowserWindow newWindow = new BrowserWindow();

newWindow.Show();

System.Windows.Threading.Dispatcher.Run();

Answer: D


Q4. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

The application includes the following features: 

 A data provider control. 

 Twenty TextBox controls bound to the data provider. 

 A Submit button that saves the TextBox values to a data source. 

Business rules state that the value entered in the UserName TextBox control cannot be the same as any other UserName values in the data source. 

You need to provide feedback to the user as early as possible when a duplicate value is entered in the UserName TextBox control. 

What should you do? 

A. Use the ExceptionValidationRule class. 

B. Use the OneWay BindingMode enumeration value. 

C. Create and use a class that inherits from the ValidationRule base class. 

D. Add an exception handler to the Click event handler for the Submit button. 

Answer: C


Q5. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

You plan to define three columns for a Grid control. 

You need to ensure that the column definition meets the following requirements: 

 The central column is twice as wide as the side columns. 

 The columns occupy all the available horizontal space. 

Which XAML code fragment should you use? 

A. <Grid>

  <Grid.ColumnDefinitions>

    <ColumnDefinition Width="*" /> 

    <ColumnDefinition Width="2*" />

    <ColumnDefinition Width="*" />

  </Grid.ColumnDefinitions>

</Grid> 

B. <Grid>

  <Grid.ColumnDefinitions>

    <ColumnDefinition Width="*" /> 

    <ColumnDefinition Width="2" />

    <ColumnDefinition Width="*" /> 

  </Grid.ColumnDefinitions>

</Grid> 

C. <Grid>

  <Grid.ColumnDefinitions>

    <ColumnDefinition Width="1" /> 

    <ColumnDefinition Width="2" />

    <ColumnDefinition Width="1" />

  </Grid.ColumnDefinitions>

</Grid> 

D. <Grid>

  <Grid.ColumnDefinitions>

    <ColumnDefinition Width="25" /> 

    <ColumnDefinition Width="50" />

    <ColumnDefinition Width="25" />

  </Grid.ColumnDefinitions>

</Grid> 

Answer: A


70-502 free practice test

Rebirth 70-502 exam:

Q6. You create a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

You deploy the application on client computers by using the ClickOnce technology. You need to ensure that the application downloads an assembly to a client computer only if the assembly is required. 

Which event should you implement? 

A. The AssemblyLoad event of the AppDomain object 

B. The AssemblyResolve event of the AppDomain object 

C. The CheckForUpdateCompleted event of the ApplicationDeployment object 

D. The DownloadFileGroupCompleted event of the ApplicationDeployment object 

Answer: B


Q7. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

You plan to use the application to preview video files. You write the following XAML code fragment. 

01 <Window x:Class="myClass" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="myWindow" Height="300" Width="300"> 

02   <StackPanel Background="Black"> 

03 

04     <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> 

05       <Button Name="btnPlay" Margin="10" Content="Play" /> 

06     </StackPanel> 

07 

08   </StackPanel> 

09 </Window> 

You need to ensure that the application plays only the first 10 seconds of a video that you want to preview. 

Which two actions should you perform? (Each correct answer presents part of the solution. Choose two.) 

A. Insert the following XAML fragment at line 03. 

<MediaElement Name="myMediaElement" Stretch="Fill" /> 

B. Insert the following XAML fragment at line 03. 

<MediaElement Name="myMediaElement" Source="MediaFileSelected.wmv" Stretch="Fill" /> 

C. Create the following method in the code-behind file. 

public void PlayMedia(object sender, RoutedEventArgs args)

{

  myMediaElement.Play();

D. Insert the following XAML fragment at line 07. 

<StackPanel.Triggers> 

  <EventTrigger RoutedEvent="Button.Click" SourceName="btnPlay"> 

    <EventTrigger.Actions> 

      <BeginStoryboard Name= "myBegin"> 

        <Storyboard SlipBehavior="Slip"> 

          <MediaTimeline Source="MediaFileSelected.wmv" Storyboard.TargetName="myMediaElement" BeginTime="0:0:0" Duration="0:0:10" /> 

        </Storyboard> 

      </BeginStoryboard> 

    </EventTrigger.Actions> 

  </EventTrigger>

</StackPanel.Triggers> 

E. Insert the following XAML fragment at line 07. 

<StackPanel.Triggers> 

  <EventTrigger RoutedEvent="Button.Click" SourceName="btnPlay"> 

    <EventTrigger.Actions> 

      <BeginStoryboard Name= "myBegin"> 

        <Storyboard SlipBehavior="Slip"> 

          <MediaTimeline Storyboard.TargetName="myMediaElement" BeginTime="0:0:0" Duration="0:0:10" /> 

        </Storyboard> 

      </BeginStoryboard> 

    </EventTrigger.Actions> 

  </EventTrigger>

</StackPanel.Triggers> 

Answer: AD


Q8. You are creating a Windows Presentation Foundation (WPF) application by using Microsoft .NET Framework 3.5.

The application contains a window that programatically displays an image. The window contains a Grid control named theGrid. You write the following code segment. 

(Line numbers are included for reference only.) 

01 Image theImage = new Image();

02 theImage.Width = 200;

03 BitmapImage theBitmapImage = new BitmapImage();

04 theBitmapImage.BeginInit();

05 theBitmapImage.UriSource = new Uri("imageToDisplay.jpg");

06 theBitmapImage.DecodePixelWidth = 200;

07 theBitmapImage.EndInit();

08

09 theGrid.Children.Add(theImage);

You need to crop an elliptical region of the image such that the ellipse is centered at the location X=75 and Y=50. 

Which code segment should you insert at line 08? 

A. CroppedBitmap croppedBitmap = new CroppedBitmap(theBitmapImage, new Int32Rect(75, 50, 105, 50));

theImage.Source = theBitmapImage;

B. CroppedBitmap croppedBitmap = new CroppedBitmap();

croppedBitmap.Source = theBitmapImage;

croppedBitmap.SourceRect = new Int32Rect(75, 50, 105, 50);

theImage.Source = theBitmapImage;

C. theImage.Source = theBitmapImage;

EllipseGeometry  clipGeometry = new EllipseGeometry(new Point(75, 50), 50, 25);

theImage.Clip = clipGeometry;

D. theImage.Source = theBitmapImage;

EllipseGeometry clipGeometry = new EllipseGeometry();

clipGeometry.Center = new Point(75, 50);

theImage.Clip = clipGeometry ;

Answer: C


Q9. You are creating a Windows Presentation Foundation application to track customer orders. 

You use Microsoft .NET Framework 3.5 to create the application. The application contains an Order class. The Order class has two public properties named OrderDate and OrderID. The application also contains an ObservableCollection collection of Order objects. This collection is named OrderItems. You write the following XAML code fragment. 

<Window.Resources> 

  <CollectionViewSource Source="{Binding Source={x:Static Application.Current}, Path=OrderItems}" x:Key="orders" /> 

</Window.Resources> 

You add two ListBox controls to select orders based on the OrderID or the OrderDate properties. One ListBox control displays order dates and the other ListBox control displays order numbers. You need to bind the two ListBox controls so that the item selected in one control is reflected in the other control. 

Which XAML code fragment should you use? 

A. <ListBox Name="lstOrder" DisplayMemberPath="OrderID" ItemsSource="{Binding Source={StaticResource orders}}"/>

<ListBox Name="lstDate" DisplayMemberPath="OrderDate" ItemsSource="{Binding Source={StaticResource orders}}"/> 

B. <ListBox Name="lstOrder" DisplayMemberPath="OrderID" ItemsSource="{Binding Source={StaticResource orders}}"/>

<ListBox Name="lstDate" DisplayMemberPath="OrderDate" ItemsSource="{Binding ElementName=lstOrder, Path=OrderDate}"/> 

C. <ListBox Name="lstOrder" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="OrderID" ItemsSource="{Binding Source={StaticResource orders}}"/>

<ListBox Name="lstDate" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="OrderDate" ItemsSource="{Binding Source={StaticResource orders}}"/> 

D. <ListBox Name="lstOrder" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="OrderID" ItemsSource="{Binding Source={StaticResource orders}}"/>

<ListBox Name="lstDate" SynchronizedWithCurrentItem="True" DisplayMemberPath="OrderDate" ItemsSource="{Binding ElementName=lstOrder, Path=OrderDate}"/> 

Answer: C


Q10. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

You are creating an XAML page for the application. The page will display information about cars. The information is stored in a static resource named cars. You need to ensure that the page can display the image of each car in a ListBox control. 

Which XAML code fragment should you use? 

A. <ListBox ItemsSource="{Binding Source={StaticResource cars}}">

  <ListBoxItem> 

    <Image Source="{Binding Path=Path}"/> 

  </ListBoxItem>

</ListBox> 

B. <ListBox ItemsSource="{Binding Source={StaticResource cars}}"> 

  <ListBoxItem> 

    <DataTemplate> 

      <Image Source="{Binding Path=Path}"/> 

    </DataTemplate> 

  </ListBoxItem>

</ListBox> 

C. <ListBox ItemsSource="{Binding Source={StaticResource cars}}"> 

  <ListBox.ItemTemplate> 

    <DataTemplate> 

      <Image Source="{Binding Path=Path}"/> 

    </DataTemplate> 

  </ListBox.ItemTemplate>

</ListBox> 

D. <ListBox ItemsSource="{Binding Source={StaticResource cars}}"> 

  <ListBox.ItemTemplate> 

    <DataTemplate> 

      <Image Source="{Binding Source={StaticResource cars}, Path=Path}"/> 

    </DataTemplate> 

  </ListBox.ItemTemplate>

</ListBox> 

Answer: C


70-502 free practice test

Approved 70-502 :

Q11. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

You add textbox controls to the user interface of the application. 

You need to set the format for each textbox control in the following manner: 

 The font is Segoe UI. 

 The font size is 16. 

Which XAML code fragment should you use? 

A. <Style x:Key="MyTextBoxStyle">

  <Setter Property="TextBox.FontSize" Value="16" /> 

  <Setter Property="TextBox.FontFamily" Value="Segoe UI" />

</Style>...

<TextBox Style="{DynamicResource MyTextBoxStyle}">

  ...

</TextBox> 

B. <Style BasedOn="MyTextBoxStyle" x:Key="TextBox">

  <Setter Property="TextBox.FontSize" Value="16" /> 

  <Setter Property="TextBox.FontFamily" Value="Segoe UI" />

</Style>

<TextBox FontStyle="{DynamicResource MyTextBoxStyle}">

...

</TextBox> 

C. <Style x:Name="MyTextBoxStyle" x:Key="TextBox">

  <Setter Property="TextBox.FontSize" Value="16" />

  <Setter Property="TextBox.FontFamily" Value="Segoe UI" />

</Style>...

<TextBox Style="{DynamicResource MyTextBoxStyle}">

  ...

</TextBox> 

D. <Style x:Name="MyTextBoxStyle" x:Key="TextBox"> 

  <Setter Property="TextBox.FontSize" Value="16" /> 

  <Setter Property="TextBox.FontFamily" Value="Segoe UI" />

</Style>...

<TextBox FontStyle="{DynamicResource MyTextBoxStyle}">

  ...

</TextBox> 

Answer: A


Q12. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

The application displays an image that is defined as an application resource. 

You need to ensure that the following requirements are met: 

 The image file must appear in the output directory after the build. 

 The image can be modified without being rebuilt. 

What should you do? 

A. Include the image in your project. Set the Build Action property for the file to Resource.

Set the Copy to Output Directory property to Copy if newer. 

B. Include the image in your project. Set the Build Action property for the file to Content. 

Set the Copy to Output Directory property to Copy if newer. 

C. Include the image in your project. Set the Build Action property for the file to Embedded Resource.

Set the Copy to Output Directory property to Copy always. 

D. Include the image in your project. Set the Build Action property for the file to ApplicationDefinition.

Set the Copy to Output Directory property to Copy if newer. 

Answer: B


Q13. You are creating a Windows Presentation Foundation application to track inventory levels.

You use Microsoft .NET Framework 3.5 to create the application. You need to create a Product class to propagate changes from the InventoryLevel property to the InventoryLevel label control. 

Which code segment should you use? 

A. public class Product

{

  private int _inventoryLevel;

  public int InventoryLevel

  {

    get { return _inventoryLevel; }

    set { _inventoryLevel = value; }

  }

B. public class Product : DependencyObject

{

  private int _inventoryLevel;

  public int InventoryLevel

  {

    get { return _inventoryLevel; }

    set { _inventoryLevel = value; }

  }

}

C. public class Product

{

  public event EventHandler PropertyChanged;

  private int _inventoryLevel;

  public int InventoryLevel

  {

    get { return _inventoryLevel; }

    set

    {

      _inventoryLevel = value;

      PropertyChanged(this, EventArgs.Empty);

    }

  }

}

D. public class Product : INotifyPropertyChanged

{

  public event PropertyChangedEventHandler PropertyChanged;

  private int _inventoryLevel;

  public int InventoryLevel

  {

    get { return _inventoryLevel; }

    set

    {

      _inventoryLevel = value;

      PropertyChanged(this, new PropertyChangedEventArgs("InventoryLevel"));

    }

  }

Answer: D


Q14. Your company has deployed a Windows Presentation Foundation application on client computers by using the ClickOnce technology.

The application interrupts the users in their tasks by prompting them to look for updates. You need to ensure that the application automatically detects updates without blocking the users interaction with the application. 

What should you do? 

A. Call the ApplicationDeployment.CheckForUpdate() function from the startup routine of the application. 

B. Add an expiration element to the deployment manifest file. Set the maximumAge attribute to 24 and the unit attribute to hour. 

C. Add the beforeApplicationStartup element to the deployment manifest file.

Configure a schedule job to launch another instance of the application in the background once a day. 

D. Add a System.Windows.Threading.DispatcherTimer object and the ApplicationDeployment.CheckForUpdateAsync() function to the code-behind file. 

Set the Interval property of the System.Windows.Threading.DispatcherTimer object to 1 day. 

Answer: D


Q15. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5.

You use a template for button controls. The template is defined as a resource on the page that contains the button controls. The template has a key named tpCancel. You plan to add a button named Cancel to the user interface of the application. You need to ensure that the Cancel button uses the template. 

Which code segment should you use? 

A. <Button Template="tpCancel">Cancel</Button> 

B. <Button Template="{StaticResource tpCancel}">Cancel</Button> 

C. <Button>

  <Button.Template>

    <ControlTemplate x:Name="tpCancel" />

  </Button.Template>

  Cancel

</Button> 

D. <Button>

  <Button.Template>

    <ControlTemplate Resources="tpCancel" />

  </Button.Template>

  Cancel

</Button> 

Answer: B


Q16. You are creating a Windows Presentation Foundation application by using Microsoft .NET Framework 3.5. 

You create a window by using the following XAML code fragment.

(Line numbers are included for reference only.) 

01 <Rectangle x:Name="rect"> 

02   <Rectangle.Fill> 

03     <SolidColorBrush x:Name="brush"/> 

04   </Rectangle.Fill> 

05   <Rectangle.Triggers> 

06     <EventTrigger RoutedEvent="Rectangle.Loaded"> 

07       <BeginStoryboard x:Name="beginName"> 

08         <Storyboard x:Name="boardName"> 

09

10         </Storyboard> 

11       </BeginStoryboard> 

12     </EventTrigger> 

13     <EventTrigger RoutedEvent="Rectangle.MouseLeftButtonDown"> 

14

15     </EventTrigger> 

16   </Rectangle.Triggers> 

17 </Rectangle> 

You need to ensure that the animation starts when the rectangle is loaded. You also need to ensure that the animation terminates when a user clicks the rectangle. 

What should you do? 

A. Insert the following XAML code fragment at line 09. 

<ColorAnimation Storyboard.TargetName="brush" Storyboard.TargetProperty="Color" From="Blue" To="Yellow" RepeatBehavior="Forever"/>

Insert the following XAML code fragment at line 14. 

<StopStoryboard BeginStoryboardName="boardName"/> 

B. Insert the following XAML code fragment at line 09. 

<ColorAnimation Storyboard.TargetName="brush" Storyboard.TargetProperty="Color" From="Blue" To="Yellow" RepeatBehavior="Forever"/> 

Insert the following XAML code fragment at line 14. 

<StopStoryboard BeginStoryboardName="beginName"/> 

C. Insert the following XAML code fragment at line 09. 

<ColorAnimation Storyboard.TargetName="rect" Storyboard.TargetProperty="Color" From="Blue" To="Yellow" RepeatBehavior="Forever"/> 

Insert the following XAML code fragment at line 14. 

<StopStoryboard BeginStoryboardName="beginName"/> 

D. Insert the following XAML code fragment at line 09. 

<ColorAnimation Storyboard.TargetName="rect" Storyboard.TargetProperty="Brush.Color" From="Blue" To="Yellow" RepeatBehavior="Forever"/> 

Insert the following XAML code fragment at line 14. 

<StopStoryboard BeginStoryboardName="beginName"/> 

Answer: B



see more 70-502 - TS: Microsoft .NET Framework 3.5 - Windows Presentation Foundation