UI Controls Silverlight

    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>
    
        
            
                                      BufferingProgressChanged="doBuff" 
                          DownloadProgressChanged="doDown" 
                          CurrentStateChanged="doState" 
                          MarkerReached="handleMarker" 
                          MediaOpened="handleOpened">
        
    

//File: Page.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }
        private void doBuff(object sender, RoutedEventArgs e)
        {
            double prog = vid.BufferingProgress * 100;
            txtBuff.Text = "Buffering % " + prog;
        }
        private void doDown(object sender, RoutedEventArgs e)
        {
            double prog = vid.DownloadProgress * 100;
            txtBuff.Text = "Downloading % " + prog;
        }
        private void doState(object sender, RoutedEventArgs e)
        {
            txtBuff.Text = vid.NaturalDuration.ToString() + ":" + vid.Position.ToString();
        }
        private void handleMarker(object sender, TimelineMarkerRoutedEventArgs e)
        {
            string strMarkerStatus = e.Marker.Time.ToString();
            strMarkerStatus += "  :  ";
            strMarkerStatus += e.Marker.Type;
            strMarkerStatus += "  :  ";
            strMarkerStatus += e.Marker.Text;
        }
        private void handleOpened(object sender, RoutedEventArgs e)
        {
            TimelineMarker t = new TimelineMarker();
            t.Time = new TimeSpan(0, 0, 0, 10);
            t.Type = "My Temp Marker";
            t.Text = "Dynamically Added Marker";
            vid.Markers.Add(t);
        }
    }
}