1

Silverlight アプリケーションがあるとします。ブラウザで実行するとCTRL +、アプリを押すとズームインされ、CTRL -ズームアウトされます。単純で一般的な動作です。問題は、ユーザーがアプリを 100% を超えてズームすると ( ZoomFactor 1)、一部のコントロールがクリップされたり、一部が消えたりすることです。この背後にある理由は、ビューの配置階層にある可能性がありますが、これは私の頭痛の種ではありません。私が望むのは、アプリのズームイン機能を制限して、ユーザーが 1 より大きくなった後にズームできないZoomFactorようにすることです。その方法は? 次のコードを取得しようとしています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

期待できる最善の方法は、ズームを完全に無効にすることだと思います。

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

しかし、正直なところ、ズームを無効にすると、視力の弱いユーザーがアプリケーションを使いにくくなります。ズームインの要点は、視力の弱いユーザーがより簡単に見られるようにすることです。拡大するとアプリケーションが壊れる場合、アプリケーションにはアクセシビリティの問題があります。

ブラウザーでズームを無効化/制限することは可能です。たとえば、この質問を参照してください。ただし、これはユーザーが自分のブラウザーで行う必要があるものであり、Silverlight アプリケーションで実現できるものではありません。

于 2012-07-08T10:48:36.760 に答える
3

Silverlight オブジェクトが作成される HTML にこれを追加します。

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

これにより、Silverlight オブジェクトが均一にズームインし、オブジェクトが切り取られないようにする必要があります。

于 2012-07-08T17:18:52.957 に答える