リサイズ時にWebViewのレイアウト崩壊
メインWindowに対して、左ペインに操作パネル、右ペインにWebViewを含むアプリケーションを作りました。普通に走らせるだけでは問題ありませんが、WindowをリサイズするとWebViewの中身の表示が崩壊します。WebViewを親Gridに対してどうレイアウトするかによって、リサイズ時に崩壊するかどうかが決まるようで、試しに左右ペインのコントロールを入れ替え、左ペインにWebViewを表示させてみたところ、リサイズしても表示が崩れることはありませんでした。
※WebViewはEdge版(非Chrome)のものを使用しています。他のWebBrowser系のコントロールでも有効かどうかは不明です。
解決法
コントロールの配置順序が問題でした。問題発生時の概略は以下です。
<Grid>
<Grid.ColumnDefinitions />
<Grid Grid.Column="0" />
<WebView Grid.Column="1" />
</Grid>
このままではWebViewがリサイズ時にWidthを取得できずに(?)バグるので、Gridで囲んであげます。
<Grid>
<Grid.ColumnDefinitions />
<Grid Grid.Column="0" />
<Grid Grid.Column="1">
<WebView/>
</Grid>
</Grid>
これで完全解決しました。
0 件のコメント:
コメントを投稿