Udostępnij za pośrednictwem


Informacje o wyświetlaniu urządzenia

Browse sample. Przeglądanie przykładu

W tym artykule opisano sposób używania interfejsu użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) IDeviceDisplay do odczytywania informacji o metrykach ekranu urządzenia. Ten interfejs może służyć do żądania, aby ekran pozostał w stanie przebudzenia, gdy aplikacja jest uruchomiona.

Domyślna implementacja interfejsu IDeviceDisplay jest dostępna za pośrednictwem DeviceDisplay.Current właściwości . Zarówno interfejs, jak IDeviceDisplay i DeviceDisplay klasa są zawarte w Microsoft.Maui.Devices przestrzeni nazw.

Informacje o ekranie głównym

Właściwość MainDisplayInfo zwraca informacje o ekranie i orientacji. Poniższy przykład kodu używa Loaded zdarzenia strony do odczytywania informacji o bieżącym ekranie:

private void ReadDeviceDisplay()
{
    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    sb.AppendLine($"Pixel width: {DeviceDisplay.Current.MainDisplayInfo.Width} / Pixel Height: {DeviceDisplay.Current.MainDisplayInfo.Height}");
    sb.AppendLine($"Density: {DeviceDisplay.Current.MainDisplayInfo.Density}");
    sb.AppendLine($"Orientation: {DeviceDisplay.Current.MainDisplayInfo.Orientation}");
    sb.AppendLine($"Rotation: {DeviceDisplay.Current.MainDisplayInfo.Rotation}");
    sb.AppendLine($"Refresh Rate: {DeviceDisplay.Current.MainDisplayInfo.RefreshRate}");

    DisplayDetailsLabel.Text = sb.ToString();
}

Interfejs IDeviceDisplay udostępnia MainDisplayInfoChanged również zdarzenie, które jest zgłaszane, gdy każda metryka ekranu zmienia się, na przykład gdy orientacja urządzenia zmienia się z DisplayOrientation.Landscape na DisplayOrientation.Portrait.

Zachowaj ekran na ekranie

Możesz również uniemożliwić zablokowanie urządzenia lub wyłączenie ekranu przez ustawienie KeepScreenOn właściwości na true. Poniższy przykładowy kod przełącza blokadę ekranu przy każdym naciśnięciu kontrolki przełącznika:

private void AlwaysOnSwitch_Toggled(object sender, ToggledEventArgs e) =>
    DeviceDisplay.Current.KeepScreenOn = AlwaysOnSwitch.IsToggled;

Różnice między platformami

W tej sekcji opisano różnice specyficzne dla platformy dotyczące wyświetlania urządzenia.

Brak różnic między platformami.