Use Cancel button triggers the cancellation. : WebClient « Communication « Silverlight






Use Cancel button triggers the cancellation.

Use Cancel button triggers the cancellation.
    
<UserControl x:Class='SilverlightApplication3.MainPage'
    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'>

    <Grid x:Name="LayoutRoot" Background="White">
        <StackPanel Orientation="Vertical">
            <Button x:Name="myButton" Content="Request Content" Height="30" Width="120" Click="myButton_Click" />
            <TextBlock x:Name="myTextBlock" />
        </StackPanel>
    </Grid>
</UserControl>


//File: Page.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
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;

using System.Text;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void myButton_Click(object sender, RoutedEventArgs e)
        {
            RequestStreamContent();
        }

        public void RequestStreamContent()
        {
            Uri uri = new Uri("http://silverlightinaction.com/video3.wmv");        

            WebClient webClient = new WebClient();                        
            webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
            webClient.OpenReadAsync(uri);                                    
        }

        void webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();            
            sb.Append(e.BytesReceived + " of ");                                    
            sb.Append(e.TotalBytesToReceive + " bytes received");                  

            myTextBlock.Text = sb.ToString();
        }
    }
}

   
    
    
    
  








Related examples in the same category

1.Using a WebClient to Download Resources on DemandUsing a WebClient to Download Resources on Demand
2.Load wmv file from in code with WebClient
3.Requesting some string content through the WebClient objectRequesting some string content through the WebClient object
4.Asynchronously requesting binary content using the WebClient classAsynchronously requesting binary content using the WebClient class
5.Use a WebClient to call a JSON web service.Use a WebClient to call a JSON web service.
6.Loading an image from a compressed package that was retrieved on demand