コントロールの幅や高さを画面サイズのパーセントで指定するには?[ユニバーサルWindowsアプリ開発]

Gridコントロールの比例配分がうまく行かない例(VS 2013、上:Windows/下:Phone)Windows(上)では、右側のTextBlockコントロールが、Gridコントロールの分割を無視して横に広がってしまった(赤矢印の範囲)。実はHubSectionコントロールの幅はウィンドウの幅では決まらない。Windowsでは、HubSectionコントロールの幅はその中のコンテンツ次第なのだ。そのために、Gridコントロール自身の幅も、その列幅の配分も、想定したようにはならない。Phone(下)では、HubSectionコントロールの幅を指定しなかったときの既定値は360ピクセルになっているため、Gridコントロール内の分割は想定通りになる。しかし固定幅では、「コントロールの幅をウィンドウ幅の一定割合にしたい」という意図は満たせない。

Gridコントロールの比例配分がうまく行かない例(VS 2013、上:Windows/下:Phone)Windows(上)では、右側のTextBlockコントロールが、Gridコントロールの分割を無視して横に広がってしまった(赤矢印の範囲)。実はHubSectionコントロールの幅はウィンドウの幅では決まらない。Windowsでは、HubSectionコントロールの幅はその中のコンテンツ次第なのだ。そのために、Gridコントロール自身の幅も、その列幅の配分も、想定したようにはならない。Phone(下)では、HubSectionコントロールの幅を指定しなかったときの既定値は360ピクセルになっているため、Gridコントロール内の分割は想定通りになる。しかし固定幅では、「コントロールの幅をウィンドウ幅の一定割合にしたい」という意図は満たせない。