Silverlight:限制应用程序使用浏览器缩放调整大小
假设我有一个silverlight应用程序。在浏览器中运行后,如果我按下Silverlight:限制应用程序使用浏览器缩放调整大小,silverlight,browser,zooming,Silverlight,Browser,Zooming,假设我有一个silverlight应用程序。在浏览器中运行后,如果我按下CTRL+,应用程序将被放大,而对于CTRL-,应用程序将被缩小。简单和普通的行为;问题是,一旦用户将应用放大到100%以上(ZoomFactor 1),我的一些控件就会被剪掉,一些控件就会消失。这背后的原因可能是视图放置层次结构,这根本不是我头疼的问题。我想要的是限制应用程序的放大功能,以便用户在ZoomFactor大于1后无法放大它。怎么做? 我正在尝试以下代码以获取ZoomFactor: App.Current
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.
}
};
我搜索了很多,但没有找到一个合适的答案,可以帮助。请找个人来帮我。
提前谢谢。我想你最好的办法是完全禁用缩放功能:
App.Current.Host.Settings.EnableAutoZoom = false;
但是,老实说,通过禁用缩放功能,视力差的用户很难使用您的应用程序。放大的全部目的是让视力差的用户更容易看到。如果放大破坏了应用程序,则应用程序存在可访问性问题
可以禁用/限制浏览器中的缩放,例如,请参见,但这是用户必须在自己的浏览器中执行的操作,而不是Silverlight应用程序可以实现的操作。我认为最好的方法是完全禁用缩放:
App.Current.Host.Settings.EnableAutoZoom = false;
但是,老实说,通过禁用缩放功能,视力差的用户很难使用您的应用程序。放大的全部目的是让视力差的用户更容易看到。如果放大破坏了应用程序,则应用程序存在可访问性问题
可以禁用/限制浏览器中的缩放,例如,请参见,但这是用户必须在自己的浏览器中执行的操作,而不是Silverlight应用程序可以实现的操作。将此添加到创建Silverlight对象的HTML中:
<param name="enableautozoom" value="false">
这应该允许silverlight对象均匀地放大,而不是剪裁任何对象将此添加到创建silverlight对象的HTML中:
<param name="enableautozoom" value="false">
这应该允许silverlight对象均匀地放大,而不是剪裁任何对象对于要剪裁的对象,必须使用绝对位置或大小。取而代之的是使用相对尺寸,并确保物品放置在可以滚动的容器中。要剪裁物品,必须使用绝对位置或尺寸。取而代之的是使用相对大小,并确保物品放置在可以滚动的容器中。