Tenho um aplicativo WPF criado em .NET 6 rodando no Windows 10
Dado um sistema com dois monitores, onde um monitor está configurado para escala de 100% e o outro está definido para escala de 200%. Como posso obter a escala de DPI do monitor em que a janela do aplicativo está atualmente?
Já tentei usar VisualTreeHelper.GetDpi()
por onde passo na janela. Mas sempre retorna a escala do monitor principal (aquele marcado em 'Tornar este meu monitor principal' nas configurações de vídeo do Windows 10)
Adicione um
app.manifest
arquivo ao seu aplicativo e ative o reconhecimento de DPI por monitor, conforme exemplificado no GitHub :Então você poderá obter o DPI do monitor atual usando a
VisualTreeHelper.GetDpi
API: