次のリンクを確認する必要があります:
https ://weblog.west-wind.com/posts/2019/Feb/14/WPF-Hanging-in-Infinite-Rendering-Loop?fbclid = IwAR23ZnUrz7buVpFLXOX2qQin1WcifQ6h280EO25URO74NTGDkTedx1TDR
このページからの引用は次のとおりです。
StarDefinitionsCanExceedAvailableSpaceオーバーライドの使用この設定は、新しいGridRendering動作をオーバーライドし、基本的にプロジェクトで.NET 4.7.xターゲットを使用して実行できるようにしますが、以前のバージョンで使用されていた古い動作を保持します。
アプリケーションのapp.configで設定できる構成設定があります。
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.Grid.StarDefinitionsCanExceedAvailableSpace=true"
/>
</runtime>
</configuration>
そのスイッチを使用すると、4.7.1を実行でき、どのスケーリングモードでもロックアップが表示されないことを確認できます。私の後
実行中のバージョンが4.6.2に戻っていたので、これを試すためにもう一度別のブランチで4.7.1に移動し、スイッチがアプリケーションを4.7.1でターゲットに実行できるようにしました。したがって、ハッキーな回避策があります。
ただし、これは回避策です。Microsoftによるこの「修正」は、グリッドレンダリングの割り当てを改善し、より正確なサイズ設定を提供し、パフォーマンスを改善し、メモリ使用量を削減します。紙の上ではこれは大きな改善ですが...まあ、副作用
この問題についてはあまり情報が見つからなかったので、この問題はあまり一般的ではないと思います。起動シーケンスには多くのウィンドウ操作があるため、MarkdownMonsterがこの問題を引き起こしていると思います。MMはメインウィンドウにウィンドウアニメーションと追加のレンダリングフレームを使用するMahAppsUIフレームワークを使用し、MM自体が初期レンダリングのためにウィンドウを画面外に移動し、ウィンドウが画面に収まらない場合は画面サイズとDPI設定に基づいてウィンドウサイズを調整しますまたは、それ以外の場合は画面外になります。IOW、最初のウィンドウを画面に表示するための少しの回転があります。これは、単純なWPFフォームよりもこのバグに遭遇する可能性が高いです。
したがって、すべてのアプリケーションがこれについて心配する必要があるとは思えませんが、4.7.x WPFアプリを使用している場合は、さまざまな解像度とスケールレベルで試して、どのように動作するかを確認することをお勧めします。