日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????? 本節將講述三個Silverlight中應用的小技巧:Silverlight頁面的放大縮小、Silverlight操作Html、Html操作Silverlight控件。

一、Silverlight頁面的放大縮小

??????? 首先對于Silverlight頁面的放大縮小我們可以使用ScaleTransform對Canvas控件進行設置。這樣所有在該Canvas控件內的所有子控件都被放大縮小。

??????? 下面我們看Xaml源碼如下:

?

  • <Canvas??MouseWheel="LayoutRoot_MouseWheel"?Width="500"?Height="450">?
  • ????<Canvas.RenderTransform>?
  • ????????<ScaleTransform?x:Name="canvasTrans"></ScaleTransform>?
  • ????</Canvas.RenderTransform>?
  • ????<Image?Name="showimg"?Source="/SLBigOrSmall;component/1618591.jpg"></Image>?
  • ????<Button?Width="154"??Content="Silverlight操作Html"?HorizontalAlignment="Right"?
  • ????????????Height="40"?Canvas.Left="6"?Canvas.Top="400"?Click="Button_Click"?/>?
  • </Canvas>?
  • ??????? 然后Xaml.cs代碼如下:

    ?

  • #region?放大縮小元素?
  • ?
  • private?void?LayoutRoot_MouseWheel(object?sender,?MouseWheelEventArgs?e)?
  • {?
  • ????//?e.Delta滾動一個齒輪為120,向前為正,向后為負所以120/1200,讓增量變到正負0.1?
  • ????double?delta?=?e.Delta?/?1200.0;?
  • ????canvasTrans.ScaleX?+=?delta;?
  • ????canvasTrans.ScaleY?+=?delta;?
  • }?
  • ?
  • #endregion?
  • 二、Silverlight操作Html控件

    ??????? 在這里我們使用Silverlight中的按鈕,通過HtmlElement類操作Html中的ID為Text1的input控件的Value屬性值。

    ??????? Html代碼如下:

    ?

  • <input?id="Text1"?type="text"?/>?
  • ??????? Xaml.cs代碼如下:

    ?

  • #region?Silverlight操作Html元素?
  • ?
  • private?void?Button_Click(object?sender,?RoutedEventArgs?e)?
  • {?
  • ????HtmlElement?htmlElem?=?HtmlPage.Document.GetElementById("Text1");?
  • ????htmlElem.SetAttribute("value",?"Silverlight操作成功Html");?
  • ?
  • }?
  • #endregion?
  • 三、Html操作Silverlight控件

    ????????在這里我們通過GetElementById方法找到Html控件然后為它增加一個onchange事件,在這個事件中獲取到控件的值并且設置到Silverlight控件中去。

    ??????? Html代碼如下:

    ?

  • <div?style="?text-align:center;">?
  • ????????請選擇:<select?id="selectColor">????
  • ????????????????????<option?value="White">白色</option>?????
  • ????????????????????<option?value="Gray">灰色</option>??????
  • ????????????????????<option?value="Black">黑色</option>????
  • ???????????????</select>?
  • </div>?
  • ????????Silverlight的xaml.cs代碼如下:

    ?

  • #region?Html操作Silverlight元素?
  • ?
  • private?void?HtmlLinkSL()?
  • {?
  • ????//獲取到頁面上的selectColor的Html控件?
  • ????HtmlElement?htmlSelectColor?=?HtmlPage.Document.GetElementById("selectColor");?
  • ????//為這個Html控件增加onchange選擇變化事件?
  • ?????htmlSelectColor.AttachEvent("onchange",?new?EventHandler<HtmlEventArgs>(htmlSelectColor_onChange));??
  • }?
  • public?void?htmlSelectColor_onChange(object?sender,?HtmlEventArgs?e)?
  • {??
  • ????HtmlElement?htmlSelect=sender?as?HtmlElement;?
  • ????//獲取到html控件選擇的值,根據這個值為Html?
  • ????switch(htmlSelect.GetAttribute("value"))?
  • ????{?
  • ????????case?"White":?
  • ????????????ellipse1.Fill?=?new?SolidColorBrush(Colors.White);?
  • ????????????break;?
  • ????????case?"Gray":?
  • ????????????ellipse1.Fill?=?new?SolidColorBrush(Colors.Gray);?
  • ????????????break;?
  • ????????case?"Black":?
  • ????????????ellipse1.Fill?=?new?SolidColorBrush(Colors.Black);?
  • ????????????break;?
  • ????????default:?
  • ????????????break;?
  • ????}?
  • }?
  • ?
  • #endregion?
  • ??????? 最后我們來看運行的效果如下圖所示,另外如需源碼請點擊 SLBigOrSmall.rar 下載。?

    ?

    轉載于:https://blog.51cto.com/chengxingliang/826758

    總結

    以上是生活随笔為你收集整理的Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。