A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

32 lines
1.1 KiB

using System.Globalization;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Platform;
namespace IntegrationTestApp.Pages;
public partial class ScreensPage : UserControl
{
private Screen? _lastScreen;
public ScreensPage()
{
InitializeComponent();
}
private void ScreenRefresh_Click(object? sender, RoutedEventArgs e)
{
var window = TopLevel.GetTopLevel(this) as Window ??
throw new AvaloniaInternalException("ScreensPage is not attached to a Window.");
var lastScreen = _lastScreen;
var screen = _lastScreen = window.Screens.ScreenFromWindow(window);
ScreenName.Text = screen?.DisplayName;
ScreenHandle.Text = screen?.TryGetPlatformHandle()?.ToString();
ScreenBounds.Text = screen?.Bounds.ToString();
ScreenWorkArea.Text = screen?.WorkingArea.ToString();
ScreenScaling.Text = screen?.Scaling.ToString(CultureInfo.InvariantCulture);
ScreenOrientation.Text = screen?.CurrentOrientation.ToString();
ScreenSameReference.Text = ReferenceEquals(lastScreen, screen).ToString();
}
}