Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作

简介:

本节将讲述三个Silverlight中应用的小技巧:Silverlight页面的放大缩小、Silverlight操作Html、Html操作Silverlight控件。

一、Silverlight页面的放大缩小

        首先对于Silverlight页面的放大缩小我们可以使用ScaleTransform对Canvas控件进行设置。这样所有在该Canvas控件内的所有子控件都被放大缩小。

        下面我们看Xaml源码如下:

 


 
 
  1. <Canvas  MouseWheel="LayoutRoot_MouseWheel" Width="500" Height="450"
  2.     <Canvas.RenderTransform> 
  3.         <ScaleTransform x:Name="canvasTrans"></ScaleTransform> 
  4.     </Canvas.RenderTransform> 
  5.     <Image Name="showimg" Source="/SLBigOrSmall;component/1618591.jpg"></Image> 
  6.     <Button Width="154"  Content="Silverlight操作Html" HorizontalAlignment="Right" 
  7.             Height="40" Canvas.Left="6" Canvas.Top="400" Click="Button_Click" /> 
  8. </Canvas> 

        然后Xaml.cs代码如下:

 


 
 
  1. #region 放大缩小元素 
  2.  
  3. private void LayoutRoot_MouseWheel(object sender, MouseWheelEventArgs e) 
  4.     // e.Delta滚动一个齿轮为120,向前为正,向后为负所以120/1200,让增量变到正负0.1 
  5.     double delta = e.Delta / 1200.0; 
  6.     canvasTrans.ScaleX += delta; 
  7.     canvasTrans.ScaleY += delta; 
  8.  
  9. #endregion 

二、Silverlight操作Html控件

        在这里我们使用Silverlight中的按钮,通过HtmlElement类操作Html中的ID为Text1的input控件的Value属性值。

        Html代码如下:

 


 
 
  1. <input id="Text1" type="text" /> 

        Xaml.cs代码如下:

 


 
 
  1. #region Silverlight操作Html元素 
  2.  
  3. private void Button_Click(object sender, RoutedEventArgs e) 
  4.     HtmlElement htmlElem = HtmlPage.Document.GetElementById("Text1"); 
  5.     htmlElem.SetAttribute("value""Silverlight操作成功Html"); 
  6.  
  7. #endregion 

三、Html操作Silverlight控件

        在这里我们通过GetElementById方法找到Html控件然后为它增加一个onchange事件,在这个事件中获取到控件的值并且设置到Silverlight控件中去。

        Html代码如下:

 


 
 
  1. <div style=" text-align:center;"> 
  2.         请选择:<select id="selectColor">    
  3.                     <option value="White">白色</option>     
  4.                     <option value="Gray">灰色</option>      
  5.                     <option value="Black">黑色</option>    
  6.                </select> 
  7. </div> 

        Silverlight的xaml.cs代码如下:

 


 
 
  1. #region Html操作Silverlight元素 
  2.  
  3. private void HtmlLinkSL() 
  4.     //获取到页面上的selectColor的Html控件 
  5.     HtmlElement htmlSelectColor = HtmlPage.Document.GetElementById("selectColor"); 
  6.     //为这个Html控件增加onchange选择变化事件 
  7.      htmlSelectColor.AttachEvent("onchange", new EventHandler<HtmlEventArgs>(htmlSelectColor_onChange));  
  8. public void htmlSelectColor_onChange(object sender, HtmlEventArgs e) 
  9. {  
  10.     HtmlElement htmlSelect=sender as HtmlElement; 
  11.     //获取到html控件选择的值,根据这个值为Html 
  12.     switch(htmlSelect.GetAttribute("value")) 
  13.     { 
  14.         case "White"
  15.             ellipse1.Fill = new SolidColorBrush(Colors.White); 
  16.             break; 
  17.         case "Gray"
  18.             ellipse1.Fill = new SolidColorBrush(Colors.Gray); 
  19.             break; 
  20.         case "Black"
  21.             ellipse1.Fill = new SolidColorBrush(Colors.Black); 
  22.             break; 
  23.         default
  24.             break; 
  25.     } 
  26.  
  27. #endregion 

        最后我们来看运行的效果如下图所示,另外如需源码请点击 SLBigOrSmall.rar 下载。 

 


本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/826758


相关文章
|
25天前
|
移动开发 前端开发 JavaScript
【HTML】HTML页面和常见标签
【HTML】HTML页面和常见标签
30 1
|
2月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
37 6
|
11天前
|
移动开发 HTML5
一个最简单的 HTML 页面结构如下:
HTML 是一种标记语言,用于描述网页结构。通过 `&lt;html&gt;`, `&lt;head&gt;`, `&lt;body&gt;` 等标签构建页面,支持文本、图像、链接、表格等多种元素。本文介绍了 HTML 基础,包括常用标签及创建简单网页的实例,帮助初学者快速入门。
45 0
|
23天前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
24天前
|
数据可视化 小程序 JavaScript
DIYGW可视化快速生成VUE3静态html页面
DIYGW可视化快速生成VUE3静态html页面
31 0
html,web页面朗读文字,朗读中文,朗读英文
html,web页面朗读文字,朗读中文,朗读英文
|
3月前
|
数据安全/隐私保护
自定义密码访问跳转页面HTML源码
自定义密码访问跳转页面HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
46 0
自定义密码访问跳转页面HTML源码
|
3月前
|
移动开发 HTML5
HTML5页面元素及属性
【8月更文挑战第23天】HTML5页面元素及属性。
44 4
HTML+CSS 实现带轮播图的企业官网页面(记得收藏)
HTML+CSS 实现带轮播图的企业官网页面(记得收藏)
|
3月前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
50 1