2011-07-15 68 views
1

如何判断浏览器窗口是否在Silverlight/C#中最大化?如何判断浏览器窗口是否在Silverlight/C#中最大化?

“窗体”最大化功能将无法正常工作,因为我正在编写一个在浏览器中运行的Silverlight应用程序。

我曾尝试这样的:

App.Current.Host.Content.FullScreenChanged + =新的EventHandler(Content_FullScreenChanged);

但是,当我最大化窗口时,不会调用此事件处理程序。

最大化是不是全屏

App.Current.Host.Content.IsFullScreen;

即使我最大化窗口也会返回false。

回答

1

浏览器不会将这种信息传递给它的内容。

您可能可以检测到调整大小事件,然后将浏览器窗口大小与屏幕大小进行比较,并在浏览器边框上留有一定宽容度......但是您永远无法确定该大小是否已达到最大化。

+0

在这种情况下,有没有做一个系统的指标查询和获取窗口的大小的方法,然后比较,为应用程序窗口的当前大小? – xarzu

+0

silverlight可以与javascript互操作,您可以通过javascript检测窗口大小,然后传递给可以与屏幕大小相比较的silverlight应用。 –

+0

或者我也可以在调整大小事件的窗口。浏览器可能无法传递所有信息。但也许我可以得到我需要的东西。有没有在Silverlight中获取屏幕分辨率的方法? – xarzu

0

IsFullScreen与浏览器大小无关。想想这更像是当你的媒体播放器是全尺寸的时候(小窗口仍然存在于它下面)。

这是一个链接,显示您可以使用Silverlight访问的各种浏览器属性。这是旧的,但仍然具有现实意义:

http://www.jeff.wilcox.name/2008/06/browserscreeninformation/

+0

有没有在Silverlight中获得屏幕分辨率的方法?这些信息将帮助我发现应用程序已被最大化。 – xarzu

相关问题