Html integration with Silverlight : MediaElement « UI Controls « Silverlight






Html integration with Silverlight

Html integration with Silverlight
    

<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'>
    <StackPanel x:Name="LayoutRoot" Background="White">
        <Button Height="32" Width="150" HorizontalAlignment="Left"  Content="Load Colors" Click="Button_Click"></Button>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="Current Background: "></TextBlock>
            <TextBlock x:Name="choiceTB"></TextBlock>
        </StackPanel>
    </StackPanel>
</UserControl>

//File: Page.xaml.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.Windows.Browser;

namespace SilverlightApplication3
{
    [ScriptableType]
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(MainPage_Loaded);
        }

        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            HtmlElement menu = HtmlPage.Document.GetElementById("colorMenu");
            menu.AttachEvent("onchange", new EventHandler<HtmlEventArgs>(this.onColorChanged));
            HtmlPage.Document.DocumentReady += new EventHandler(Document_DocumentReady);

            HtmlElement option = HtmlPage.Document.CreateElement("option");
            option.SetAttribute("value", "blue");
            option.SetAttribute("innerHTML", "Blue");
            menu.AppendChild(option);

            HtmlElement option2 = HtmlPage.Document.CreateElement("option");
            option2.SetAttribute("value", "white");
            option2.SetAttribute("innerHTML", "White");
            menu.AppendChild(option2);

            HtmlElement option3 = HtmlPage.Document.CreateElement("option");
            option3.SetAttribute("value", "red");
            option3.SetAttribute("innerHTML", "Red");
            menu.AppendChild(option3);


            HtmlElement option4 = HtmlPage.Document.CreateElement("option");
            option4.SetAttribute("value", "green");
            option4.SetAttribute("innerHTML", "Green");
            menu.AppendChild(option4);

        }
        public void onColorChanged(object sender, HtmlEventArgs e)
        {
            HtmlElement menu = (HtmlElement)e.Source;
            string color = (string)menu.GetProperty("value");
            Color c;
            if (color == "blue")
            c = Color.FromArgb(255, 0, 0, 255);
            else if (color == "red")
            c = Color.FromArgb(255, 255, 0, 0);
            else if (color == "green")
            c = Color.FromArgb(255, 0, 255, 0);
            else
            c = Color.FromArgb(255, 255, 255, 255);
            choiceTB.Text = color;
            LayoutRoot.Background = new SolidColorBrush(c);
            }
        void Document_DocumentReady(object sender, EventArgs e)
        {
            // code to manipulate DOM after HTML page is initialized
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
        }

    }
}

   
    
    
    
  








Related examples in the same category

1.XAML File That Defines a MediaElement Control with Playback Button and a Progress Slider ControlXAML File That Defines a MediaElement Control with Playback Button and a Progress Slider Control
2.Creating a MediaElementCreating a MediaElement
3.MediaElement Stretch: Stretch.None
4.MediaElement Stretch: Stretch.Uniform
5.MediaElement Stretch: Stretch.UniformToFill
6.MediaElement Stretch: Stretch.Fill
7.Timeline marker for MediaElement
8.A MediaElement that uses relative syntax
9.A MediaElement that uses absolute syntax
10.MediaElement eventsMediaElement events
11.Clip a media element
12.Check Media duration
13.Media volumn controlMedia volumn control
14.Set MediaElement Opacity
15.Play wmv media filePlay wmv media file
16.VideoBrush and MediaElement
17.Download Progress event for MediaElement
18.Show the NaturalDuration of a MediaElement
19.A MediaElement referencing a client-side playlist
20.MediaElement with mms protocol
21.Using the MarkerReached event to show a caption on a MediaElement
22.Media playerMedia player
23.Loading media content that has been downloaded on demandLoading media content that has been downloaded on demand