Click here to Skip to main content
15,893,487 members
Articles / Programming Languages / Javascript

Silverlight JavaScript Integration - Part 1

Rate me:
Please Sign up or sign in to vote.
4.20/5 (3 votes)
16 Jul 2011CPOL 23.5K   382   11  
Integration of Silverlight and JavaScript
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;

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

        private void btnAccessHtmlElements_Click(object sender, RoutedEventArgs e)
        {
            System.Windows.Browser.HtmlDocument doc = System.Windows.Browser.HtmlPage.Document;
            System.Windows.Browser.HtmlElement headerDiv = doc.GetElementById("headerDiv");
            headerDiv.SetStyleAttribute("background-color", "green");
        }

        private void btnAccessQueryStrings_Click(object sender, RoutedEventArgs e)
        {
            System.Windows.Browser.HtmlDocument doc=System.Windows.Browser.HtmlPage.Document;
            int empID = int.Parse(doc.QueryString["employeeID"]);
            MessageBox.Show(empID.ToString());
        }

            private void btnAccessAllQueryStrings_Click(object sender, RoutedEventArgs e)
            {
                Dictionary<string, string> QueryStrings = new Dictionary<string, string>();
                System.Windows.Browser.HtmlWindow win = System.Windows.Browser.HtmlPage.Window;
                System.Windows.Browser.HtmlDocument doc = System.Windows.Browser.HtmlPage.Document;
                foreach (string key in doc.QueryString.Keys)
                {
                    QueryStrings.Add(key, doc.QueryString[key]);
                }
                MessageBox.Show(QueryStrings.Count.ToString());
            }

            private void btnInvokeJSFunction_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Browser.HtmlWindow win = System.Windows.Browser.HtmlPage.Window;
                win.Invoke("ChangeHeaderDivColor");
            }

            private void btnReturnValueJSFunction_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Browser.HtmlWindow win = System.Windows.Browser.HtmlPage.Window;
                object result = win.Invoke("GetSum", 17, 7);
                MessageBox.Show(result.ToString());//Result 24
            }

            private void bntJSAlert_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Browser.HtmlWindow win = System.Windows.Browser.HtmlPage.Window;
                win.Alert("Hello DOM!");
            }

            private void btnNavigateToLink_Click(object sender, RoutedEventArgs e)
            {
                string target = "_blank";
                System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://silverlight.net"), target);
            }
            private void btnNavigateToBookmark_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Browser.HtmlPage.Window.NavigateToBookmark("headerDiv");
            }

            private void btnGetBrowserInformation_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Browser.BrowserInformation bInfo = System.Windows.Browser.HtmlPage.BrowserInformation;
               
                int majorVersion = bInfo.BrowserVersion.Major;
                int minorVersion = bInfo.BrowserVersion.Minor;
                int revisionVersion = bInfo.BrowserVersion.Revision;
                int buildVersion = bInfo.BrowserVersion.Build;

                bool cookiesEnabled = bInfo.CookiesEnabled;

                string name = bInfo.Name;
                string platform = bInfo.Platform;
                string productName = bInfo.ProductName;
                string productVersion = bInfo.ProductVersion;
                string userAgent = bInfo.UserAgent;
            }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Jordan Jordan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions