質問するログイン新規登録

回答編集履歴

1

少し読みやすく修正

2017/04/19 01:57

投稿

P3PPP
P3PPP

スコア359

answer CHANGED
@@ -1,3 +1,8 @@
1
- Gridが自分のサイズを計算する際に、サイズが*(Star)のRow/ColumnDefinitionに配置されているImageをソース画像のピクセル等倍のサイズで認識するようです(今回の例ではColumnDefinitionが省略されて*になっている)。その結果、Gridのサイズは縦が「sample_image.pngの高さ + Labelの高さ」、横がContentPageの幅で決定し、そのGridサイズを元にImageとViewのサイズが再計算されます。この時にImageはGridに収まるサイズにスケーリングされた高さとなるため、ソース画像の高さとの差分だけ余白が残ります。
1
+ Gridが自分のサイズを計算する際に、サイズが*(Star)のRow/ColumnDefinitionに配置されているImageをソース画像のピクセル等倍のサイズで認識するようです(今回の例ではColumnDefinitionが省略されて*になっている)。
2
+ その結果、Gridのサイズは以下のように決定します。
3
+ * 縦: sample_image.pngの高さ + Labelの高さ
4
+ * 横: ContentPageの幅
2
5
 
6
+ このGridサイズを元にImageとLabelのサイズが再計算されます。この時にImageの高さがGridの幅に収まるサイズにスケーリング(縮小)されたものとなるため、ソース画像の高さとの差分だけ余白が残ります。
7
+
3
8
  一応、ColumnDefinitionの幅を明示的にセットすることで回避できますが、他のLayoutを使う方が無難でしょう。