小编给大家分享一下Silverlight怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!现在我们需要的是是在非OOB下的html控件,并且支持中文输入无需设置windowsless等于true。好吧下面我们开始吧:去年
小编给大家分享一下Silverlight怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
现在我们需要的是是在非OOB下的html控件,并且支持中文输入无需设置windowsless等于true。
好吧下面我们开始吧:去年的在深蓝色右手群里有位叫“超人”的哥们说DIV的方式,Silverlihgt在html中作为插件显示。我们可以在html中建立一个DIV 覆盖在Silverlight的上方。这样我们就能输入中文了。今天我们这里也是这样的方式实现的。
以下代码是去年从某地反编译过来,然后稍作修改的。具体哪里也忘了。下面我们简单分析下代码:
我们先定义Uri属性,指定显示某个Uri的html
/// <summary> /// 设置Uri的依赖属性,并且定义Uri改变时事件SourceUriChanged /// </summary> public static readonly DependencyProperty SourceUriProperty = DependencyProperty.ReGISter("SourceUri", typeof(Uri), typeof(HTMLControl), new PropertyMetadata(null, new PropertyChangedCallback(HTMLControl.SourceUriChanged))); /// <summary> /// 指定显示的Uri /// </summary> public Uri SourceUri { get { return (Uri)base.GetValue(SourceUriProperty); } set { base.SetValue(SourceUriProperty, value); } }
下面是当Uri改变时候触发的事件,大致原理为:
获取Sl所属页面在页面中增加一个Div元素
调整Div元素所处位置以及长宽高。让它刚好处于Sl控件位置
Refresh方法主要调整位置以及长宽高
private static void SourceUriChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { ((HTMLControl)sender).ReloadUri(); } private void ReloadUri() { if (!HtmlPage.IsEnabled) { return; } if (!this.isLoad) { return; } if (this.div.Children.Count > 0) { while (div.Children.Count>0) { this.div.RemoveChild((HtmlElement)this.div.Children[0]); } } if (this.SourceUri == null) { //直接设置SourceHtml 未设置Uri this.div.SetStyleAttribute("overflow", "auto"); this.SetDivHtml(this.div, this.SourceHtml); //这里刷新Html,并且创建Div this.Refresh(); } else { //通过URL设置 this.div.SetStyleAttribute("overflow", "hidden"); this.div.AppendChild(this.IFrame); this.IFrame.SetAttribute("src", this.SourceUri.ToString()); //这里刷新Html this.Refresh(); } }
上面控件只能在非OOB模式下使用,因为在OOB模式下无法创建Div,HtmlPage等对象访问也会报错(题外话:真不明白为啥默认建的SL项目App.xaml.cs中会用到HtmlPage对象)。所以要在OOB运行的时候朋友们可以使用MS的WEBBrowser控件。
看完了这篇文章,相信你对“Silverlight怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!
--结束END--
本文标题: Silverlight怎么用
本文链接: https://www.lsjlt.com/news/289459.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0