使silverlight适应IE窗口大小的方法

    Pete Brown在它的BLOG中提到了一个按自定义比例使用silverlight适应IE窗口大小的方法

    原文如下:How to Resize a Silverlight 2 App and Keep the Same Aspect Ratio                

    其核心代码如下(
Xaml):

<UserControl x:Class="PeteBrown.SilverlightScalingExample.Page"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    
>
   
    
<Grid x:Name="LayoutRoot"
          Background
="Cornsilk" ShowGridLines="True"
          Width
="400" Height="300"
          RenderTransformOrigin
="0.5 0.5">
       
        
<Grid.RenderTransform>
            
<ScaleTransform x:Name="PageScale" ScaleX="1" ScaleY="1"/>
        
</Grid.RenderTransform>
       

    
</Grid>
</UserControl>



public partial class Page : UserControl
{
    
// this is the aspect ratio we want to maintain
    
// you can specify this all sorts of ways, but the
    
// easiest is to take the original size and divide
    
// X by Y (4:3 or 1.333 in this case)
    private const double _originalWidth = 400;
    
private const double _originalHeight = 300;
    
private const double _originalAspectRatio =
        _originalWidth 
/ _originalHeight;

    
public Page()
    {
        InitializeComponent();

        
// wire up the event handler. This is a great addition
        
// to silverlight, as you used to have to hook into the
        
// browser event yourself
        SizeChanged += new SizeChangedEventHandler(Page_SizeChanged);
    }

    
void Page_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        
if (e.NewSize.Width < _originalWidth ||
            e.NewSize.Height 
< _originalHeight)
        {
            
// don't shrink
            PageScale.ScaleX = 1.0;
            PageScale.ScaleY 
= 1.0;
        }
        
else
        {
            
// resize keeping aspect ratio the same
            if (e.NewSize.Width / e.NewSize.Height > _originalAspectRatio)
            {
                
// height is our constraining property
                PageScale.ScaleY = e.NewSize.Height / _originalHeight;
                PageScale.ScaleX 
= PageScale.ScaleY;
            }
            
else
            {
                
// either width is our constraining property, or the user
                
// managed to nail our aspect ratio perfectly.
                PageScale.ScaleX = e.NewSize.Width / _originalWidth;
                PageScale.ScaleY 
= PageScale.ScaleX;
            }
        }
    }
}


    这是一个很有用的小技巧,所以在这里做一个记号,看看将来是否能用得上:)

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

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

相关文章

使用JavaScript实现页面选项自动添加行以及删除行 javaweb

2019独角兽企业重金招聘Python工程师标准>>> <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://"reques…

C#基础知识之base、this、new、override、abstract梳理

一、Base关键词的几种用法base重要用于OOP的多态上&#xff0c;base 关键字用于在派生类中实现对基类公有或者受保护成员的访问&#xff0c;但是只局限在构造函数、实例方法和实例属性访问器中1、base调用基类构造函数using System;namespace BaseDemo {class Program{static v…

班主任老师推荐这些优质的教育号,建议家长们多阅读!

全世界只有3.14 % 的人关注了青少年数学之旅推荐几个教育类学习号让孩子少走弯路&#xff0c;为孩子成长保驾护航&#xff01;长按二维码&#xff0c;选择【识别图中二维码】关注理想父母 lixiangfumu&#xff08;长按二维码识别关注&#xff09;关注理由&#xff1a;面向家长…

【转】ArcGIS.Server.9.2.DotNet的ADF的Toolbar工作过程分析

目的&#xff1a;1.ArcGIS.Server.9.2.DotNet的ADF的Toolbar工作过程原理。开始&#xff1a;Toolbar工作过程&#xff1a;一.初始化过程&#xff08;在页面生成的时候Toolbar控件会生成和它相关的html代码和javascript代码&#xff09;&#xff1a; 1.根据每一个子Tool生成…

学妹问我Java枚举类与注解,我直接用这个搞定她!

很多人问我学妹长什么样&#xff0c;不多说 上图吧&#xff01; 学妹问我Java枚举类与注解&#xff0c;我直接一篇文章搞定&#xff01;一、枚举类① 自定义枚举类② enum关键字定义枚举类③ enum 枚举类的方法④ enum 枚举类实现接口二、注解① 生成文档相关注解②注解在编译…

[转]张孟苏考上的不是大学

原文&#xff1a;http://blog.sina.com.cn/s/blog_4910bb430100a5gy.html 张孟苏考因为助人为乐得到来新加坡读书的机会&#xff0c;作为一个在新加坡生活了十年的人&#xff0c;我向她表示祝贺。但为了对社会负责&#xff0c;对读者负责&#xff0c;我决定写这篇文章。 许多人…

bitmapdata的知识点

flashplayer的cpu渲染 bitmapData占用的内存分两块&#xff0c;一块是原始数据区&#xff0c;另一块是解压后的内存区10秒内如果没有使用这个bitmapdata&#xff0c;解压后的内存区会被释放&#xff0c;当10秒后重新使用&#xff0c;这个bitmapdata会再次解压&#xff0c;所以就…

设计模式之代理

代理模式介绍啥是代理模式&#xff1f;代理模式 是一种结构型设计模式&#xff0c;让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问&#xff0c;并允许在将请求提交给对象前后进行一些处理。其实说通俗点&#xff0c;就好比我们平时生活中的购买机票&#xff…

PHP 的历史

PHP/FI PHP 继承自一个老的工程&#xff0c;名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建&#xff0c;最初只是一套简单的 Perl 脚本&#xff0c;用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“Personal Home Page Tools”。随着更多功能需求的增加&#x…

linux主要系统服务介绍

linux主要系统服务介绍 apmd&#xff0d;&#xff0d;apmd用来监视系统用电状态&#xff0c;并将相关信息通过syslogd写入日志。也可以用来在电源不足时关机arpwatch&#xff0d;&#xff0d;用来维护以太网物理地址和ip地址的对应关系atd&#xff0d;&#xff0d;运行用户用at…

轮子,辛苦你了。 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源帅哥李坏的朋友圈&#xff0c;侵权删&#xff09;

这次牛逼了,面试字节被问LinkedList原理了!手足无措啊

概述 LinkedList底层是基于链表实现。链表没有长度限制&#xff0c;内存地址不需要固定长度&#xff0c;也不需要是连续的地址来进行存储&#xff0c;只需要通过引用来关联前后元素即可完成整个链表的连续。所以链表的优点就是添加删除元素比较快&#xff0c;只需要移动指针&a…

[WP8.1UI控件编程]Windows Phone自定义布局规则

3.2 自定义布局规则 上一节介绍了Windows Phone的系统布局面板和布局系统的相关原理&#xff0c;那么系统的布局面板并不一定会满足所有的你想要实现的布局规律&#xff0c;如果有一些特殊的布局规律&#xff0c;系统的布局面板是不支持&#xff0c;这时候就需要去自定义实现一…

聊聊编程语言的选择

我适合学什么编程语言呢&#xff1f;大家好&#xff0c;我是鱼皮&#xff0c;今天聊聊编程语言的选择问题&#xff0c;通过对 10 主流编程语言的特点、优劣、应用场景、发展前景等简单分析&#xff0c;希望帮还在迷茫的小伙伴们选择最适合自己的语言去学习。编程语言选择本文大…

IIS6文件权限不对触发了Windows身份认证问题解决方法

今天在iis上调试程序的时候突然发现需要登录: 通过csdn提问得知可能是权限设置有问题于是设置了下internet来宾用户: 结果问题没有解决.后来想想应该不是问题,因为我在自己机器上调试用的是Everyone权限,应该都可以访问. 于是我又去用户管理中重置internet来宾用户密码: 重置In…

C++ Exercises(十五)--排序算法的简单实现

structNode {//队列结点 int data; struct Node* pNext;};classCQueue{//队列类(带头结点&#xff09;public: CQueue(void); ~CQueue(void); bool isEmpty()const;//是否为空 void EnQueue(int num);//入队列 int DeQueue();//出队列 int Front()cons…

朋友圈终于能斗表情包了,会发表情包您就多发点!

全世界只有3.14 % 的人关注了青少年数学之旅今日&#xff0c;微信ios端更新至7.0.9版本&#xff0c;又上了一次微博热搜。版本新增了朋友圈图片评论功能&#xff0c;动态图、静态图均可&#xff0c;点击图片评论即可查看大图&#xff0c;评论图片同步聊天表情包库。各路网友收到…

银行业务调度系统

设计思路&#xff1a; &#xff08;1&#xff09;有三种对应类型的客户&#xff1a;VIP客户&#xff0c;普通客户&#xff0c;快速客户&#xff0c;异步随机生成各种类型的客户&#xff0c;各类型客户在其对应窗口按顺序依次办理业务。 &#xff08;2&#xff09;有三个类。Num…

我已经把它摸的透透的了!!!Spring 动态数据源设计实践,全面解析

[ Spring 动态数据源 动态数据源是什么&#xff1f;它能解决什么&#xff1f;&#xff1f;&#xff1f; 在实际的开发中&#xff0c;同一个项目中使用多个数据源是很常见的场景。比如&#xff0c;一个读写分离的项目存在主数据源与读数据源。 所谓动态数据源&#xff0c;就…

EF Core 异步编程注意要点

????欢迎点赞 &#xff1a;???? 收藏 ⭐留言 ???? 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;????本文作者&#xff1a;由webmote 原创&#xff0c;????作者格言&#xff1a;生活在于折腾&#xff0c;当你不折腾生活时&#x…