根据浏览器的大小,自动调整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;
}
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的大小会有不同的解释