1

小型および大型モニターで使用するためのSilverlightアプリケーションを開発しています。

コードは完全に機能し、メインページにはビューボックスが含まれ、すべてのコントロールはそのビューボックスの子であり、正しくスケーリングされました。IE9でずっとテストしてきました。

最近、VS2010がクラッシュしました。これは、Silverlightを処理するときに頻繁に発生します。このクラッシュ以降、IE9はビューボックスを正しく表示できません。

Chrome / Opera / Firefox / Safariはすべて正しい動作をしますが、IE9はもう動作しません。

アプリケーションが起動すると、初期サイズは正しいですが、数秒後にはビューボックスから外れたように見えます。

MainPage.xaml

<Viewbox MinHeight="600" MinWidth="800">
    <Grid Width="1024" Height="768" Background="White" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="25">
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <sdk:Frame Grid.Row="0" Style="{StaticResource FrameStyle}" Source="{Binding SelectedPage.PageUri}" NavigationFailed="Frame_NavigationFailed" />
        <Border Grid.Row="1" BorderBrush="#FFD4D2D2" Background="White" BorderThickness="1 0 1 1">
            <StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
               ...
            </StackPanel>
        </Border>
    </Grid>
</Viewbox>

次の画像は、IEとChromeでページがどのように表示されるかを示しています。

約800x600のChrome(正しい) Chromeのスケーリングを正しく行う

およそ800x600のIE(不正解) IEのスケーリングが正しくない

どちらも同じXAPファイルを使用しているため、アプリは以前にChromeで実行されたことがないため、テスト前にキャッシュがクリアされていても、キャッシュされるべきではありませんでした。

誰かが以前にこれと同様の問題を抱えていましたか?IEでこれを機能させるための回避策はありますか?

これはSilverlightまたはIEのバグですか?

どんな助けでも本当にありがたいです

ありがとう

4

1 に答える 1

3

万が一、マウスホイールでIEディスプレイをズームしましたか?

ViewBoxに最小表示サイズを指定したので、収まらない場合に備えて、そのViewBoxをScrollViewerに含める必要があります。

于 2011-07-14T09:15:21.233 に答える