@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/wpf-high-dpi-guide/#article>
    schema:about <https://comcomponent.com/knowledge/wpf/>, <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    schema:mentions <https://comcomponent.com/knowledge/hosted-content-scaling-limitation/>, <https://comcomponent.com/knowledge/dip/>, <https://comcomponent.com/knowledge/system-dpi-aware/>, <https://comcomponent.com/knowledge/dpi-virtualization/>, <https://comcomponent.com/knowledge/cross-monitor-blur/>, <https://comcomponent.com/knowledge/app-manifest/>, <https://comcomponent.com/knowledge/use-layout-rounding/>, <https://comcomponent.com/knowledge/snaps-to-device-pixels/>, <https://comcomponent.com/knowledge/subpixel-rendering/>, <https://comcomponent.com/knowledge/bitmap-scaling-mode/>, <https://comcomponent.com/knowledge/bitmap-blur/>, <https://comcomponent.com/knowledge/vector-graphics-asset/>, <https://comcomponent.com/knowledge/windowsformshost/>, <https://comcomponent.com/knowledge/ondpichanged/>, <https://comcomponent.com/knowledge/pixel-buffer-code/>, <https://comcomponent.com/knowledge/hwnd/>, <https://comcomponent.com/knowledge/textformattingmode-display/>, <https://comcomponent.com/knowledge/windows-forms/>, <https://comcomponent.com/knowledge/dotnet-framework/>, <https://comcomponent.com/knowledge/dotnet/>, <https://comcomponent.com/knowledge/webview2/>, <https://comcomponent.com/knowledge/webbrowser-control/> .

<https://comcomponent.com/knowledge/wpf/> a skos:Concept ;
    skos:prefLabel "WPF"@ja ;
    skos:definition "XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。"@ja ;
    skos:altLabel "Windows Presentation Foundation" ;
    ks:uses <https://comcomponent.com/knowledge/dip/> ;
    ks:implements <https://comcomponent.com/knowledge/system-dpi-aware/> .

<https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> a skos:Concept ;
    skos:prefLabel "Per-Monitor DPI対応"@ja ;
    skos:definition "モニターごとに異なるDPIへ自分で追従することをOSへ宣言する認識モードで、WPFでは.NET Framework 4.6.2以降でフレームワークが再スケーリングを自動化する。"@ja ;
    skos:altLabel "Per-Monitor" ;
    skos:altLabel "PerMonitorV2" ;
    ks:prevents <https://comcomponent.com/knowledge/cross-monitor-blur/> ;
    ks:requires <https://comcomponent.com/knowledge/app-manifest/> .

<https://comcomponent.com/knowledge/dip/> a skos:Concept ;
    skos:prefLabel "DIP(デバイス非依存単位)"@ja ;
    skos:definition "1/96インチを1とするWPFのレイアウト単位で、XAMLに書くWidthやHeightの値はこの単位で扱われる。"@ja ;
    skos:altLabel "Device Independent Pixel" ;
    ks:mayCause <https://comcomponent.com/knowledge/bitmap-blur/> ;
    ks:mayCause <https://comcomponent.com/knowledge/subpixel-rendering/> .

<https://comcomponent.com/knowledge/system-dpi-aware/> a skos:Concept ;
    skos:prefLabel "System DPI Aware"@ja ;
    skos:definition "サインイン時の主モニターのDPIに合わせて描画が固定されるDPI認識モード。主モニター以外や、サインイン後にDPIが変わった場合はOSが拡大表示する。WPFは宣言なしでこの状態になる。"@ja ;
    skos:altLabel "System Aware" ;
    skos:altLabel "システムDPI認識"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/cross-monitor-blur/> .

<https://comcomponent.com/knowledge/cross-monitor-blur/> a skos:Concept ;
    skos:prefLabel "モニター間移動時の全体のにじみ"@ja ;
    skos:definition "DPIの異なるモニターへウィンドウを移したときに、文字も罫線もアイコンも一様ににじんで見える症状。"@ja ;
    skos:altLabel "マルチモニターのにじみ"@ja .

<https://comcomponent.com/knowledge/dpi-virtualization/> a skos:Concept ;
    skos:prefLabel "DPI仮想化"@ja ;
    skos:definition "DPI対応を宣言していないアプリに対し、OSが「画面は96 DPIだ」と偽って描かせ、その結果をビットマップとして拡大表示する救済措置。レイアウトは崩れない代わりに全体がにじむ。"@ja ;
    skos:altLabel "DPI Virtualization" ;
    skos:altLabel "ビットマップストレッチ"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/cross-monitor-blur/> .

<https://comcomponent.com/knowledge/app-manifest/> a skos:Concept ;
    skos:prefLabel "アプリケーションマニフェスト"@ja ;
    skos:definition "実行ファイルに埋め込むXMLで、WPFでDPI認識モードを宣言する唯一の入り口となるファイル。"@ja ;
    skos:altLabel "app.manifest" .

<https://comcomponent.com/knowledge/dotnet-framework/> a skos:Concept ;
    skos:prefLabel ".NET Framework"@ja ;
    skos:definition "Windowsのコンポーネントとして扱われ、インストールされているOSのライフサイクルに沿ってサポートされるランタイム。System.Messagingの対象範囲。"@ja .

<https://comcomponent.com/knowledge/windowsformshost/> a skos:Concept ;
    skos:prefLabel "WindowsFormsHost"@ja ;
    skos:definition "WPFアプリの中にWindows Formsコントロールを埋め込むための要素で、DIPと物理ピクセルの2座標系をホストが変換する。"@ja ;
    skos:altLabel "ElementHost" ;
    ks:uses <https://comcomponent.com/knowledge/windows-forms/> ;
    ks:requires <https://comcomponent.com/knowledge/hwnd/> .

<https://comcomponent.com/knowledge/hosted-content-scaling-limitation/> a skos:Concept ;
    skos:prefLabel "ホストしたコンテンツのスケーリング制限"@ja ;
    skos:definition "WPFアプリに埋め込んだ別HWNDのコンテンツが、アプリ側のPer-Monitor DPI対応に自動では追従せず、そのコンテンツ自身が対応できる範囲までしかスケーリングされない状態。"@ja .

<https://comcomponent.com/knowledge/windows-forms/> a skos:Concept ;
    skos:prefLabel "Windows Forms"@ja ;
    skos:definition "デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。"@ja ;
    skos:altLabel "WinForms" .

<https://comcomponent.com/knowledge/hwnd/> a skos:Concept ;
    skos:prefLabel "HWND(ウィンドウハンドル)"@ja ;
    skos:definition "Windowsがウィンドウ1枚ごとに割り当てる識別子で、WPFはトップレベルのウィンドウにだけこれを持ち、HWNDを持ち込む要素だけがWPFの描画の外側になる。"@ja ;
    skos:altLabel "ウィンドウハンドル"@ja .

<https://comcomponent.com/knowledge/webview2/> a skos:Concept ;
    skos:prefLabel "Microsoft Edge WebView2"@ja ;
    skos:definition "Chromiumベースのランタイムを使ってWindowsアプリにWeb描画エンジンを埋め込む仕組み。WebBrowserコントロールの完全な差し替え部品ではない。"@ja ;
    skos:altLabel "WebView2" .

<https://comcomponent.com/knowledge/webbrowser-control/> a skos:Concept ;
    skos:prefLabel "WebBrowserコントロール"@ja ;
    skos:definition "WindowsアプリにIE系の描画エンジンを埋め込むための.NETのコントロール。IEの世界観を引きずる。"@ja ;
    skos:altLabel "System.Windows.Forms.WebBrowser" .

<https://comcomponent.com/knowledge/bitmap-blur/> a skos:Concept ;
    skos:prefLabel "ビットマップ画像のぼやけ"@ja ;
    skos:definition "ビットマップ画像もDIPで配置されDPIに応じて補間拡大されるため、既定の補間(Linear)で特に小さい画像がはっきりぼやける症状。"@ja ;
    skos:altLabel "アイコンのぼやけ"@ja .

<https://comcomponent.com/knowledge/vector-graphics-asset/> a skos:Concept ;
    skos:prefLabel "ベクター画像資産"@ja ;
    skos:definition "Path・Geometry・DrawingImageやアイコンフォントなど、どのDPIでもくっきり描画されるベクター形式の画像資産。"@ja ;
    skos:altLabel "Path/Geometry/DrawingImage" ;
    ks:prevents <https://comcomponent.com/knowledge/bitmap-blur/> .

<https://comcomponent.com/knowledge/bitmap-scaling-mode/> a skos:Concept ;
    skos:prefLabel "BitmapScalingMode"@ja ;
    skos:definition "既定はLinearで、HighQuality(Fant)やNearestNeighborなど画像の補間拡大アルゴリズムを選べるWPFのプロパティ。"@ja ;
    skos:altLabel "RenderOptions.BitmapScalingMode" ;
    ks:mitigates <https://comcomponent.com/knowledge/bitmap-blur/> .

<https://comcomponent.com/knowledge/ondpichanged/> a skos:Concept ;
    skos:prefLabel "OnDpiChanged(DPI変更への追従)"@ja ;
    skos:definition ".NET Framework 4.6.2以降で利用できる、モニター間移動やスケーリング変更のたびに呼ばれるWPFウィンドウのイベントハンドラー。"@ja ;
    skos:altLabel "DpiChangedイベント"@ja .

<https://comcomponent.com/knowledge/pixel-buffer-code/> a skos:Concept ;
    skos:prefLabel "ピクセルバッファを自前で扱うコード"@ja ;
    skos:definition "WriteableBitmapやRenderTargetBitmapなど、物理ピクセル数を自分で計算してピクセルバッファを作るコード。"@ja ;
    skos:altLabel "WriteableBitmap" ;
    skos:altLabel "RenderTargetBitmap" .

<https://comcomponent.com/knowledge/subpixel-rendering/> a skos:Concept ;
    skos:prefLabel "サブピクセル配置"@ja ;
    skos:definition "要素の境界が物理ピクセルの整数位置に乗らず、中間に落ちたエッジがアンチエイリアスで半透明に描かれてにじむ状態。"@ja ;
    skos:altLabel "サブピクセルのにじみ"@ja .

<https://comcomponent.com/knowledge/use-layout-rounding/> a skos:Concept ;
    skos:prefLabel "UseLayoutRounding"@ja ;
    skos:definition "レイアウトパスで非整数のピクセル値を丸める仕組みで、既定は無効、ルート要素に設定するとビジュアルツリー全体へ伝播する。"@ja ;
    skos:altLabel "レイアウト丸め"@ja ;
    ks:mitigates <https://comcomponent.com/knowledge/subpixel-rendering/> ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/snaps-to-device-pixels/> .

<https://comcomponent.com/knowledge/snaps-to-device-pixels/> a skos:Concept ;
    skos:prefLabel "SnapsToDevicePixels"@ja ;
    skos:definition "描画時にエッジをピクセル境界へスナップするWPFのプロパティで、既定はfalse、設定はサブツリーへ継承される。"@ja ;
    skos:altLabel "描画時ピクセルスナップ"@ja ;
    ks:mitigates <https://comcomponent.com/knowledge/subpixel-rendering/> .

<https://comcomponent.com/knowledge/textformattingmode-display/> a skos:Concept ;
    skos:prefLabel "TextFormattingMode(Ideal/Display)"@ja ;
    skos:definition "フォント本来の理想メトリクスで配置するIdeal(既定)と、GDI互換メトリクスで配置するDisplayの2モードを持つWPFのテキスト整形設定。"@ja ;
    skos:altLabel "Display整形"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dip/> ;
    schema:description "WPFはXAMLに書くWidth/Heightなどの座標・サイズを1/96インチを1とするDIPで扱う"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/system-dpi-aware/> ;
    schema:description "WPFは何も宣言しなくてもSystem DPI Awareとして動作する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/system-dpi-aware/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/cross-monitor-blur/> ;
    schema:description "System Awareのアプリはサインイン時の主モニターDPIで描画するため、異なるDPIのモニターへ移すとOSのビットマップ拡大縮小でにじむ"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dpi-virtualization/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/cross-monitor-blur/> ;
    schema:description "DPI仮想化はレイアウトを崩さない代わりに、ウィンドウ全体をビットマップとして拡大・縮小するためにじみを生む"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/cross-monitor-blur/> ;
    schema:description "Per-Monitor DPI対応を宣言すると、モニターごとのDPIに自分で追従するためモニター間移動時のにじみが解消される"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/app-manifest/> ;
    schema:description "WPFのPer-Monitor DPI対応はアプリケーションマニフェストへのdpiAwareness宣言によって行う"@ja ;
    ks:evidence <https://github.com/microsoft/WPF-Samples/tree/main/PerMonitorDPI> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-framework/> ;
    schema:description ".NET Frameworkでビルドする場合、WPFのPer-Monitor DPI対応には4.6.2以降をターゲットにする必要がある"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/framework/whats-new/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windowsformshost/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/hosted-content-scaling-limitation/> ;
    schema:description "WindowsFormsHostにホストされたコントロールの中身は、WPF側をPer-Monitor化しても中のWinFormsコントロールが対応できる範囲までしかスケーリングに追従しない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout-considerations-for-the-windowsformshost-element> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/windowsformshost/> ;
    schema:description "本記事のようにWPFアプリの中にWindows Formsのコントロールを埋め込みたい場合は、WindowsFormsHostを使う(埋め込みが不要な大半のWPFアプリでは使わない)"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout-considerations-for-the-windowsformshost-element> ;
    ks:verifiedAt "2026-08-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windowsformshost/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/windows-forms/> ;
    schema:description "WindowsFormsHostはWPFアプリの中にWindows Formsのコントロールを埋め込むための要素"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout-considerations-for-the-windowsformshost-element> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windowsformshost/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/hwnd/> ;
    schema:description "WindowsFormsHostが載せるコントロールはHWNDを持つネイティブコンテンツである"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hwnd/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/hosted-content-scaling-limitation/> ;
    schema:description "WPFに載せた他フレームワーク、他フレームワークに載せたWPFなど、HWNDを持ち込む要素は自動ではPer-Monitorスケーリングの対象にならない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/webbrowser-control/> ;
    schema:description "IEエンジンに依存するレガシーなWebBrowserコントロールの移行先として、Chromiumベースの描画エンジンを埋め込むWebView2が位置づけられる。新規開発でHTML表示の移行先を選ぶ文脈での位置づけである"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webbrowser-control/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/hosted-content-scaling-limitation/> ;
    schema:description "WebBrowserコントロールは別HWNDのネイティブコンテンツで、ズーム率がアプリのスケーリングと一致しないことがある"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dip/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/bitmap-blur/> ;
    schema:description "ビットマップ画像もDIPで配置されDPIに応じて補間拡大されるため、既定の補間(Linear)で小さい画像ほどぼやける"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.windows.media.bitmapscalingmode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/vector-graphics-asset/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/bitmap-blur/> ;
    schema:description "Path/Geometry/DrawingImageなどのベクター資産はどのDPIでもくっきり描画され、補間拡大によるぼやけが起きない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bitmap-scaling-mode/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/bitmap-blur/> ;
    schema:description "資産を増やせない場合、BitmapScalingModeで補間アルゴリズムを選ぶことでぼやけを緩和できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.windows.media.bitmapscalingmode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/ondpichanged/> ;
    schema:description "Per-Monitor化後にビットマップ資産や自前バッファをDPIに追従させたい場合、OnDpiChangedでのDPI変更検知が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/pixel-buffer-code/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/ondpichanged/> ;
    schema:description "WriteableBitmap等ピクセルバッファを自前で作るコードをPer-Monitor環境で正しく保つには、OnDpiChangedでの作り直しが必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/hidpi/declaring-managed-apps-dpi-aware> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dip/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/subpixel-rendering/> ;
    schema:description "DIPでレイアウトすると要素の境界が物理ピクセルの整数位置に乗るとは限らず、125%のような非整数のDPI倍率で特にずれやすい"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/use-layout-rounding/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/subpixel-rendering/> ;
    schema:description "ルート要素にUseLayoutRoundingを設定すると、レイアウトパスで非整数のピクセル値が丸められビジュアルツリー全体へ伝播し、サブピクセル配置によるにじみの多くを減らせる。それでも残る箇所には描画時にエッジをピクセル境界へスナップするSnapsToDevicePixelsをピンポイントで併用する必要があり、UseLayoutRoundingだけで全て解消するわけではない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/snaps-to-device-pixels/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/subpixel-rendering/> ;
    schema:description "UseLayoutRoundingで残った箇所には、描画時にエッジをピクセル境界へスナップするSnapsToDevicePixelsをピンポイントで適用する"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.windows.uielement.snapstodevicepixels> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/use-layout-rounding/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/snaps-to-device-pixels/> ;
    schema:description "迷ったらまずルートにUseLayoutRoundingを設定し、それでも残る箇所にSnapsToDevicePixelsを適用する順が第一手とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/advanced/layout> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/textformattingmode-display/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/per-monitor-dpi-awareness/> ;
    schema:description "Displayは96 DPIのピクセル格子に合わせる整形のため、125%以上が主流の高DPI環境ではかえって品質が落ちることがあり推奨されない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.windows.media.textformattingmode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
