Slide 12
Slide 12 text
Per-Monitor DPI + WPF
• DPI 値がわかったら
• ScaleTransform で Window の子要素をスケーリング
var scaleX = dpiX / 96.0;
var scaleY = dpiY / 96.0;
var element = window.Content as FrameworkElement;
if (element != null)
{
// 実際は、既に Transform されていたケースを考慮するので
// もうちょっと複雑になる
element.LayoutTransform = new ScaleTransform(scaleX, scaleY);
}
window.Width *= scaleX;
window.Height *= scaleY;