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