根据浏览器的大小,自动调整Silverlight的大小

根据浏览器的大小,自动调整Silverlight的大小

在Page_Load方法中添加

BrowserHost.Resize  +=   new  EventHandler(BrowserHost_Resize);

Resize事件处理:

void  BrowserHost_Resize( object  sender, EventArgs e)  {
            
double xscale = BrowserHost.ActualWidth / this.Width;
            
double yscale = BrowserHost.ActualHeight / this.Height;
            ScaleTransform scale 
= new ScaleTransform();
            scale.ScaleX 
= xscale ;
            scale.ScaleY 
= yscale ;
            RenderTransform 
= scale;
        }

将silverlightHost的height与width成100%, 好让 Silverlight control 随着 html 自动缩放
修改 createSilverlight中的 properties: width:"100%",height:"100%"

该代码在IE7下测试成功,可以点击 这里下载演示

对于Firefox:
删除 , 之前的 <!DOCTYPE ...>。 如果不删 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">, 虽然在IE上不会有问题,但在Firefox上则无法正常运行,因为Firefox遇到<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">时,HTML的大小会有不同的解释

你可能感兴趣的:(silverlight)