Silverlight 4 全屏
来源:互联网 发布:sql从入门到精通 编辑:程序博客网 时间:2024/04/26 07:38
这几天的网络大战,打的真热闹呀,可惜苦了我们这些网民,最苦的是我装的防御是360,聊天是QQ,弄的上QQ时不能上360,两个NC呀。一想就火大,还是看我的Silverlight吧。
Silverlight 4 全屏很简单就一行代码:Application.Current.Host.Content.IsFullScreen=true,进入全屏后可按Esc退出全屏模式,也可以放过按钮如:
<Button Content="全屏" Height="23" HorizontalAlignment="Left" Margin="168,195,0,0" Name="button1"
VerticalAlignment="Top" Width="75" Click="button1_Click"/>
按钮事件:
private void button1_Click(object sender, RoutedEventArgs e)
{
App.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;
}
app和application是一个意思
这样就可以实习点击下按钮就进入全屏,再点下就退出全屏。不过Silverlight安全问题做的有点过分了,搞的全屏模式下键盘无法法输入。后来看了下资料原来Silverlight运行在安全沙盒中,全屏后只能用有限的几个键:UP ,DOWN ,LEFT ,RIGHT ,SPACEBAR,TAB,PAGE UP,PAGE DOWN,HOME,END,ENTER。 这几个键全是为播放器准备的。
要突破Silverlight的安全限制,Silverlight4.0提供了解决方案:OUt-of-Browser支持。这个功能只需要配置即可,配置的步骤如下 :
在"解决方案资源浏览器"中,选择要为其启用浏览器外支持的 Silverlight 项目。
在"项目"菜单上,选择项目名称"属性"。
在"Silverlight"选项卡上,选择"允许在浏览器外运行应用程序"。
单击"浏览器外设置"。
随即出现"Out-of-Browser Settings"对话框。
为指示的字段指定值,然后单击"确定"。window Title和Shortcut name可选填。
键盘不能输入的问题终于得解。有了Out-of-Browser支持,Silverlight的全屏就更完善了。Out-of-Browser支持还拓展了silverlight的使用空间,让silverlight脱离了仅仅是web应用的层面,也可以做桌面程序了。
在全屏下还要注意一点,比如界面上放一张图片和一个按钮,
<Image x:Name="images" Source="image/s.jpg"></Image>
<Button Content="全屏" Height="23" HorizontalAlignment="Left" Margin="168,195,0,0" Name="button1"
VerticalAlignment="Top" Width="75" Click="button1_Click"/>
生成网页,如下:
点全屏:
按钮位置就变动了,这不是我们想要的效果。
要解决这个问题很简单,可以设置Image控件的stretch属性,将它设置为fill,再看下效果:
是解决了位置的问题了,又出现新的问题,图片相对变大了而按钮没有,感觉不怎么协调。
可以用个小方法,让它按比例变大,设个方法,当按全屏时用这个方法,让控件相对变大就行了。
width:控件的宽 height:控件的高
System.Windows.Browser.HtmlPage.Window.Eval("screen.height"); 获取你电脑的分辨率的高
System.Windows.Browser.HtmlPage.Window.Eval("screen.width"); 获取你电脑的分辨率的宽
Application.Current.Host.Content.ActualHeight;获取你当前窗体的高
Application.Current.Host.Content.ActualWidth;获取你当前窗体的宽 这里的窗体指浏览器的内容窗体
放大的控件的宽=width*电脑的宽/窗体的宽
高同上 偶比较懒
有了这些值,就可以让你的控件随比例变化了。例子就自己动手吧!嘿嘿。
顺便附上stretch的属性值说明:
None内容保持其原始大小。Fill调整内容的大小以填充目标尺寸。不保留纵横比。Uniform在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。UniformToFill在保留内容原有纵横比的同时调整内容的大小,以填充目标尺寸。如果目标矩形的纵横比不同于源矩形的纵横比,则对源内容进行剪裁以适合目标尺寸。尽管不直观,但在某些情况下,可以通过将 Stretch 属性设置为 Fill 而非包括 None 在内的其他值而获得更好的性能。使用 Stretch = Fill 时,不会有添加额外边缘的潜在剪辑发生。除 Fill 之外的所有其他类型的拉伸都需要计算布局(例如计算居中)。除非要呈现许多图像,否则,您可能不会注意到差异。
- Silverlight 4 全屏
- Silverlight 全屏与全屏事件
- Silverlight 的全屏显示
- silverlight 全屏显示
- Silverlight--实现全屏功能
- Silverlight之全屏模式
- silverlight 窗口跳转 全屏
- 在全屏模式在Silverlight 4 支持键盘输入
- [Silverlight入门系列]实现局部元素全屏(Element部分全屏)
- [Silverlight入门系列]实现局部元素全屏(Element部分全屏)
- 在Silverlight中使用全屏模式
- (7):Silverlight 2 全屏模式支持
- 一步一步学Silverlight 2系列(7):全屏模式支持
- 一步一步学Silverlight 2系列(7):全屏模式支持
- Silverlight XPS阅读器,支持分页、查找、全屏、缩放
- 全屏模式下处理Silverlight控件的两种方式
- Silverlight 4
- 全屏
- Java事件机制理解及应用
- boost::lambda的实现模拟
- Android窗口治理机制
- Android 用sharepreference在各个程序之间共享数据
- 从现实生活中理解线程消息机制
- Silverlight 4 全屏
- android handler机制
- 囧,这样也行……
- Agile Engineering Collaboration CustomAction
- ESBasic 可复用的.NET类库(26) -- Round缓存管理器RoundCacheManager
- Android 为你的应用程序添加快捷方式【优先级高的快捷方式】
- linux下为mysql设置用户名和密码
- com.informix.jdbc.IfxSqliConnect.lockSession
- 逃离360和腾讯的战场