Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan Dimensi Skrin Semasa dalam WPF?

Bagaimana untuk Mendapatkan Dimensi Skrin Semasa dalam WPF?

DDD
DDDasal
2025-01-05 13:11:40623semak imbas

How to Get the Current Screen's Dimensions in WPF?

Cara Menentukan Dimensi Skrin Semasa dalam WPF

Dalam persekitaran berbilang monitor, skrin utama mungkin tidak selalunya yang sedang digunakan atau yang paling tinggi. resolusi. Oleh itu, adalah penting untuk dapat mendapatkan semula saiz skrin semasa yang anda minati.

Kaedah WPF: Menggunakan SystemParameters

SystemParameters menyediakan akses terus kepada dimensi skrin utama:

double primaryScreenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
double primaryScreenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;

Sokongan Berbilang Skrin: Menggunakan WpfScreen Wrapper

Untuk senario dengan berbilang skrin dengan resolusi yang berbeza-beza, kelas WpfScreen menawarkan pendekatan yang lebih fleksibel:

private WpfScreen CurrentScreen
{
    get { return WpfScreen.GetScreenFrom(this); }
}

public double ScreenWidth => CurrentScreen.DeviceBounds.Width;
public double ScreenHeight => CurrentScreen.DeviceBounds.Height;

Kelas WpfScreen menyediakan kaedah untuk:

  • Dapatkan dimensi semua skrin aktif
  • Dapatkan skrin yang dikaitkan dengannya tetingkap tertentu
  • Tentukan sama ada skrin semasa ialah paparan utama

Menggunakan Wrapper dalam XAML

Kelas WpfScreen boleh digunakan dalam XAML melalui sifat yang dilampirkan:

<Window>
    <Window.AttachedProperties>
        <my:WpfScreenAttachedProperties.WpfScreen>
            <my:WpfScreen DeviceBounds="{Binding ElementName=myCtrl, Path=ScreenWidth, Mode=OneWay}"/>
        </my:WpfScreenAttachedProperties.WpfScreen>
    </Window.AttachedProperties>
    ...
</Window>

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Dimensi Skrin Semasa dalam WPF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn