zoukankan      html  css  js  c++  java
  • Silverlight 与HTML元素交互操作

    Silverlight  中的HtmlPage 和 HtmlElement 分别代表HTML页面和HTML元素

    获取HTML元素改变他的属性

        <div>
            <img id="img1" src="Images/logo.jpg" />
        </div>

    xaml.cs:

    private void Button1_Click(object sender, RoutedEventArgs e)
            {
                //获取HTML中的img1对象
                HtmlElement img = HtmlPage.Document.GetElementById("img1");
                //根据输入值设置img1的html属性Width和Height
                img.SetAttribute("width", textBox1.Text);
                img.SetAttribute("height", textBox2.Text);
            }

    HTML元素操作Silverlight

    <div>        
            <select id="sel">
                <option value="Red">红ì色?</option>
                <option value="Green">绿ì色?</option>
                <option value="Blue">蓝?色?</option>
            </select>
        </div>
    
    xaml.cs:

    public htmldom2()
            {
                InitializeComponent();
                //获取select对象
                HtmlElement select = HtmlPage.Document.GetElementById("sel");
                //添加select的onchange事件
                select.AttachEvent("onchange"
                    , new EventHandler<HtmlEventArgs>(select_onChange));
            }

            public void select_onChange(object sender, HtmlEventArgs e)
            {
                //获取select的选择值
                HtmlElement select = sender as HtmlElement;
                string value = select.GetAttribute("value");
                textBlock1.Text = value;
                //根据用户选择值来改变椭圆形的Fill值
                switch (value)
                {
                    case "Red":
                        ellipse1.Fill = new SolidColorBrush(Colors.Red);
                        break;
                    case "Green":
                        ellipse1.Fill = new SolidColorBrush(Colors.Green);
                        break;
                    case "Blue":
                        ellipse1.Fill = new SolidColorBrush(Colors.Blue);
                        break;
                }
            }

    HTML 文本 和 URL文本的编解码

    Html编码

    HttpUtility.HtmlEncode(textBlock1.Text);
    HTML解码
    HttpUtility.HtmlDecode(textBlock2.Text);
    URL编码
    HttpUtility.UrlEncode(textBlock3.Text);
    URL解码
    HttpUtility.UrlDecode(textBlock4.Text);

    读写Cookie

    //客户端Cookie读写类
    public class CookieHelper
    {
        //根据Key和Value写客户端Cookie
        public static void SetCookie(string key, string value)
        {
            DateTime expire = DateTime.UtcNow
                + TimeSpan.FromDays(30);
            string cookie = string.Format("{0}={1};expires={2}"
                , key, value, expire.ToString("R"));
            HtmlPage.Document.SetProperty("cookie"
                , cookie);
        }
        //根据Key读客户端Cookie
        public static string GetCookie(string key)
        {
            key += '=';
            //取出所有Cookie
            string[] cookies =
                HtmlPage.Document.Cookies.Split(';');
            //遍历Cookie值
            foreach (string cookie in cookies)
            {
                string cookieStr = cookie.Trim();
                //获取Cookie的key名称的位置
                if (cookieStr.StartsWith(key,
                    StringComparison.OrdinalIgnoreCase))
                {
                    //分隔出key的值
                    string[] vals = cookieStr.Split('=');

                    if (vals.Length >= 2)
                    {
                        //返回值
                        return vals[1];
                    }
                    //如果没有找到则返回空白字符串
                    return string.Empty;
                }
            }
            //如果没有Cookie则返回空白字符串
            return string.Empty;
        }
    }

    在Silverlight 中使用 Dom 的Window 对象

    导航

             //根据输入值创建URI对象
             Uri uri = new Uri(tbUrl.Text, UriKind.RelativeOrAbsolute);
             //导航到URI地址
             HtmlPage.Window.Navigate(uri);

    浏览器提示窗口

    提示窗口

    HtmlPage.Window.Alert("这是使用HtmlPage调用的消息框!");

    判定窗口

    if (HtmlPage.Window.Confirm("你确定吗?")){}

    输入窗口

    string password = HtmlPage.Window.Prompt("请输入密码");

    示例出自Silverlight 3.0 开发详解与最佳实践一书

    冯瑞涛
  • 相关阅读:
    [转载]各种计算机语言的经典书籍
    [转载]VC 常用快捷键
    [转载]Visual Studio中的debug和release版本的区别
    [转载]Visual C++开发工具与调试技巧整理
    [转载]一个游戏程序员的学习资料
    [转载]C++资源之不完全导引(完整版)
    [转载]一个图形爱好者的书架/白话说学计算机图形学
    [摘录]这几本游戏编程书籍你看过吗?
    Oracle分析函数的使用
    [C/C++]C++下基本类型所占位数和取值范围
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668613.html
Copyright © 2011-2022 走看看