Silverlight:限制应用程序通过浏览器缩放调整大小

时间:2012-07-08 06:00:23

标签: silverlight browser zoom page-zoom

假设我有一个silverlight应用程序。在浏览器中运行后,如果我按CTRL +,则应用会放大,CTRL -会缩小。简单和常见的行为;问题是,一旦用户将应用程序放大到100%以上(ZoomFactor 1),我的某些控件会被裁剪掉,而有些则会消失。这背后的原因可能是View放置层次结构,这根本不是我的头疼。我想要的是限制应用程序的放大功能,以便用户在ZoomFactor大于1后无法缩放它。如何做到这一点? 我正在尝试使用代码来获取ZoomFactor

    App.Current.Host.Content.Zoomed += (s, e) =>
                {
                    double factor=App.Current.Host.Content.ZoomFactor;
                    if(factor>1)
                    {
                        //restricting the app zooming when browser zoom is greater than 1.
                    }
};

我搜索了很多但找不到合适的答案可能有所帮助。有人请帮帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:3)

我认为你能想到的最好的就是完全禁用缩放:

        App.Current.Host.Settings.EnableAutoZoom = false;

但是,老实说,通过禁用缩放功能,您会使视力不佳的用户难以使用您的应用程序。放大的重点是让视力不佳的用户更容易看到。如果放大会破坏您的应用程序,则您的应用程序会出现无障碍问题。

可以在浏览器中禁用/限制缩放,例如,请参阅this question,但这是用户必须在自己的浏览器中执行的操作,而不是Silverlight应用程序可以实现的功能。

答案 1 :(得分:3)

将其添加到创建silverlight对象的HTML中:

   <param name="enableautozoom" value="false">

这应该允许silverlight对象放大均匀而不剪辑任何对象