假设我有一个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.
}
};
我搜索了很多但找不到合适的答案可能有所帮助。有人请帮帮我。 提前谢谢。
答案 0 :(得分:3)
我认为你能想到的最好的就是完全禁用缩放:
App.Current.Host.Settings.EnableAutoZoom = false;
但是,老实说,通过禁用缩放功能,您会使视力不佳的用户难以使用您的应用程序。放大的重点是让视力不佳的用户更容易看到。如果放大会破坏您的应用程序,则您的应用程序会出现无障碍问题。
可以在浏览器中禁用/限制缩放,例如,请参阅this question,但这是用户必须在自己的浏览器中执行的操作,而不是Silverlight应用程序可以实现的功能。
答案 1 :(得分:3)
将其添加到创建silverlight对象的HTML中:
<param name="enableautozoom" value="false">
这应该允许silverlight对象放大均匀而不剪辑任何对象