1

假设我有一个 Silverlight 应用程序。一旦在浏览器中运行,如果我按下CTRL +应用程序就会放大并CTRL -缩小。简单而常见的行为;问题是一旦用户将应用程序放大到 100% 以上(ZoomFactor 1),我的一些控件会被剪裁,而一些控件会消失。这背后的原因可能是视图放置层次结构,这根本不是我头疼的问题。我想要的是限制应用程序的放大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.
                    }
};

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

4

2 回答 2

3

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

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

这应该允许 silverlight 对象均匀地放大,而不是剪裁任何对象

于 2012-07-08T17:18:52.957 回答
3

我认为最好的办法就是完全禁用缩放:

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

但是,老实说,禁用缩放会使视力不佳的用户难以使用您的应用程序。放大的全部目的是让视力不佳的用户更容易看到。如果放大会破坏您的应用程序,则您的应用程序存在可访问性问题。

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

于 2012-07-08T10:48:36.760 回答