Silverlight中全屏处理

        Silverlight插件支持全屏模式,这个没什么好说的,只需要用设置IsFullScreen属性即可,问题在于全屏模式中,尽管屏幕变大了,但是页面中的控件并未相应的变大,下面是我在网上找到的解决这个问题的两种方式。

    第1种方式以图片为例,即应用图片的Stretch属性

       <Grid x:Name="LayoutRoot" Background="White">
        <Image  Stretch="UniformToFill" Source="/FullScreenModel;component/Koala.jpg" />
        <Button Content="全屏"  Name="button1"  Click="button1_Click" />
        </Grid>
 Click事件代码:
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;
        }

   这里主要是将Image的Stretch属性设置为UniformToFill,这样图片就可以根据浏览器分辨率的变化而变化,这种方式在处理图片,视频等资源时比较方便,不过使用这种方式在插入模式下使用图片时,你需要进行一些处理,因为若你在Image中指定Width或Height,图片在全屏模式下会保持这个固定的大小。

      第2种方式则在后台进行处理,当处于全屏模式时,该页面上的控件也进行变化,以Button为例:

       1

                       2            

        这种方式或许更贴近我们平常接触的全屏,我们看看这部分的实现

        <Grid.RenderTransform>
            <ScaleTransform ScaleX="1" ScaleY="1" x:Name="RootLayoutScaleTransform">
            </ScaleTransform>
        </Grid.RenderTransform>
       <Button  Name="button1" Content="全屏" Height="30" Width="50" Click="button1_Click" Margin="70,170,72,100">         
        </Button>

         这里在UI中添加了一个名为RootLayoutScaleTransform的放大转换

        后台代码主要是根据插件的Resized,FullScreenChanged事件进行处理的,所以我们在构造函数中声明

           Application.Current.Host.Content.Resized += new EventHandler(Content_Resized);
            Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_Resized);

       完整的代码:

        private double width;
        private double height;
        public double uniformScaleAmount = 1;
        public MainPage()
        {
            InitializeComponent();
             height = this.Height;
             width = this.Width;
            Application.Current.Host.Content.Resized += new EventHandler(Content_Resized);
            Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_Resized);
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;
        }
        void Content_Resized(object sender, EventArgs e)
        {
            double currentWidth = Application.Current.Host.Content.ActualWidth;
            double currentHeight = Application.Current.Host.Content.ActualHeight;
            uniformScaleAmount = Math.Min((currentWidth / width), (currentHeight /height));
            RootLayoutScaleTransform.ScaleX = uniformScaleAmount;
            RootLayoutScaleTransform.ScaleY = uniformScaleAmount;
        } 

      页面初始化后我们先将当前插件的大小保存了下来,当单击Button发生全屏事件时,会进行相关事件的处理,这种方式我觉得处理的更为妥善一些,程序运行的时候,如果你的界面上什么都没有,需要设置UserControl的Width, Height属性。

      就看到这两种方式,有更好的方法请告诉我。

  

     代码下载:FullScreenModelDemo   VS2010+SL3

转载于:https://www.cnblogs.com/626498301/archive/2010/08/26/1808883.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能的过去、现在和未来

来源&#xff1a; 人工智能和大数据 作者&#xff1a; 腾讯 AI Lab 主任 张潼在回答人工智能达到了什么程度这个问题之前&#xff0c;需先了解人工智能的概念是什么&#xff1f;人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是指计算机像人一样拥有智…

Dom4j完整教程~DOM4J简介

DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台&#xff0c;采用了 Java 集合框架并完全支持 DOM&#xff0c;SAX 和 JAXP。 DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型&#xff0c;就能使用。 Dom&#xff1a;把整个文档作为一个对象。 DO…

除了芯片 我们还应关注哪些核心技术

来源&#xff1a;传感器技术&#xff08;公众号&#xff09;最近的“中兴封杀”事件&#xff0c;让国人深深领略了缺少核心技术给企业乃至行业和国家带来的巨痛。除了我们知道的芯片技术之外&#xff0c;还有哪些核心技术需要我们重点关注呢&#xff1f;超级计算终端 超级计算终…

Python PyInstaller 安装 和 使用教程( 打包生成 exe )

From&#xff1a;http://c.biancheng.net/view/2690.html Python zipapp打包教程&#xff1a;http://c.biancheng.net/view/2687.html 在创建了独立应用&#xff08;自包含该应用的依赖包&#xff09;之后&#xff0c;还可以使用 PyInstaller 将 Python 程序生成可直接运行的程…

Yann LeCun:距离“真正的” AI,我们还缺什么?

来源&#xff1a; AI科技大本营&#xff08;ID&#xff1b;rgznai100&#xff09;GMIC Beijing 2018 大会第一天&#xff0c;首个演讲者是 Facebook 首席 AI 科学家 Yann LeCun。他讲述了关于深度学习的最新研究成果&#xff0c;同时也描述了深度学习的未来&#xff0c;以及机…

Python 使用 smtp ssl 模式 发送邮件与附件

参考 &#xff1a; 发送邮件简单入门 ( 以qq邮箱,163邮箱为例 ) &#xff1a;https://blog.csdn.net/qq_38661599/article/details/81013834 smtp ssl 模式 发送邮件 与 附件&#xff1a;https://www.cnblogs.com/SunshineKimi/p/10629342.html Python…

Unity.Interception System (2.0)

转载于:https://www.cnblogs.com/artech/archive/2010/08/27/1810010.html

卷积神经网络为什么能称霸计算机视觉领域?

来源&#xff1a;图灵人工智能摘要&#xff1a;在机器视觉和其他很多问题上&#xff0c;卷积神经网络取得了当前最好的效果&#xff0c;它的成功促使我们思考一个问题&#xff0c;卷积神经网络为什么会这么有效&#xff1f;在本文中&#xff0c;将为大家分析卷积神经网络背后的…

Python3.2+ 的 concurrent.futures 模块

concurrent.futures 官方文档&#xff1a;https://docs.python.org/3/library/concurrent.futures.html concurrent.futures: 线程池, 并发的处理任务&#xff1a;https://www.h3399.cn/201906/703751.html IO 密集型 vs 计算密集型&#xff1a; IO密集型&#xff1a;读取文件…

C# 判断一字符串是否为合法数字(正则表达式)

代码 ///<summary>///判断一个字符串是否为合法整数(不限制长度) ///</summary>///<param name"s">字符串</param>///<returns></returns>publicstaticboolIsInteger(strings) { stringpattern "…

关于现在人工智能预测的一些冷水

来源&#xff1a;人工智能和大数据 作者&#xff1a;田渊栋最近有关人工智能和深度学习的各种预测满天飞&#xff0c;作为圈内人&#xff0c;我来泼点冷水。我们常说科技树科技树&#xff0c;这个比喻是非常贴切的&#xff0c;现代科技的基础理论并不复杂&#xff0c;做个摘要…

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )

Windows10下搭建汇编语言开发环境&#xff08;利用DOSBOX和MASM32&#xff09;&#xff1a;https://www.cnblogs.com/zyever/p/7919007.html 如何在win10 64位下搭载汇编环境&#xff08;包含汇编dosbox和masm文件&#xff09;&#xff1a;https://blog.csdn.net/xyisv/articl…

一文解读“边缘计算” 和物联网的亲密关系!

来源&#xff1a;IT技术之家摘要&#xff1a;物联网的最终目标是万物互联&#xff0c;而边缘计算是解决当前云计算所面对的数据传输问题所应用的主要方式&#xff0c;相对于云计算&#xff0c;有更大的优势。物联网的最终目标是万物互联&#xff0c;而当前对于宽带水平来说&…

寄存器 和 存储器

From&#xff1a;https://blog.csdn.net/menshu1892/article/details/79912090 一、计算机硬件 先说内核&#xff1a;内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件&#xff0c;这种访问是有限的&#xff0c;并且内核决定一个程序在什…

博文视点大讲堂36期——让Oracle跑得更快 成功举办

博文视点大讲堂36期——让Oracle跑得更快 成功举办 电子工业出版社博文视点公司于2010年9月日在西单图书大厦成功举办“博文视点大讲堂36期——让Oracle跑得更快”讲座。8月22日&#xff0c;博文视点大讲堂为配合《让Oracle跑得更快—Oracle 10g性能分析与优化思路》的全国热销…

NLP 解决方案是如何被深度学习改写的?

作者&#xff1a;杨晓凡摘要&#xff1a;英特尔人工智能产品事业部&#xff0c;数据科学主任 Yinyin Liu 近日撰写了一篇文章&#xff0c;介绍了深度学习为自然语言处理带来的种种变化。有趣的大趋势是首先产生在 CV 领域的技术也不断用于 NLP&#xff0c;而深度学习解决方案的…

CompletableFuture详解~思维导图

#原图 System.out.println("https://www.processon.com/view/621a1b361e08533fc3afaa44?fromnew1");

如何在SharePoint 2010项目中引用UserProfiles.dll

如果需要进行SharePoint的UserProfile开发的话&#xff0c;我们需要引用以下程序集&#xff1a; C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Office.Server.UserProfiles.dll在添加引用的时候&#xff0c;Visual Studio 2010会…

汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)

From&#xff1a;https://www.cnblogs.com/zimmerk/articles/2520011.html From&#xff1a;https://blog.csdn.net/bjbz_cxy/article/details/79467688 汇编寄存器功能详解&#xff1a;https://wenku.baidu.com/view/14ef15857cd184254a353586.html 寄存器、汇编命令详解&am…

斯坦福大学科学家研发微型植入式神经刺激器

来源&#xff1a;IEEE电气电子工程师协会实现使用可读生命体征传感器和可控制的植入器来装备我们的身体&#xff0c;就仿佛科幻小说中描述的一般&#xff0c;而事实上&#xff0c;这远比你想象中的要更接近现实。斯坦福大学最近研发出一款微型植入式神经刺激器&#xff0c;只有…