1234567891011121314151617181920212223242526272829303132 |
- 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();
- }
- }
|