コントロールに固定サイズを指定すると、サイズは変更されません。明示的なレイアウトが必要な場合は、リンクでViewBoxを使用することをお勧めします。
サイズを変更せずに、単一の子要素をスケーリングして、使用可能なスペースを埋めます。このコントロールは、コンテナーのサイズの変更だけでなく、子要素のサイズの変更にも反応します。たとえば、メディア クエリによって縦横比が変化する場合があります。
キャンバスをビューボックスに配置すると、拡大縮小する必要があります。
<body>
<div data-win-control="WinJS.UI.ViewBox">
<div class="fixedlayout">
<p>Content goes here</p>
</div>
</div>
</body>
//.css file
.fixedlayout {
-ms-grid-columns: 1fr;
-ms-grid-rows: 1fr;
display: -ms-grid;
height: 768px;
width: 1024px;
}
編集:
私はこれをテストしましたが、うまくいきました:
<body>
<div data-win-control="WinJS.UI.ViewBox">
<div class="fixedlayout">
<canvas id="canvas"/>
</div>
</div>
</body>
window.onload = draw;
function draw() {
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.fillStyle = "rgb(255, 215, 0)";
context.fillRect(15, 15, 55, 50);
context.fillStyle = "rgba(0, 0, 200, 0.5)";
context.fillRect(40, 40, 45, 40);
}
.fixedlayout {
-ms-grid-columns: 1fr;
-ms-grid-rows: 1fr;
display: -ms-grid;
height: 768px;
width: 1024px;
}