* Refactor IntegrationTestApp.
Use a `ListBox` to switch pages instead of a `TabControl`: the `TabControl` didn't adapt well to smaller screen sizes, and the `MainWindow` was getting unwieldy anyway.
* Update tests to use new pager.
Move logic for selecting the page to a base class as we may need to handle scrolling manually on macOS at some point (Appium on macOS doesn't scroll elements into view automatically).
* Add AutomationPeer.IsOffscreen.
This is needed in order for controls to be scrolled into view using WinAppDriver. The default is the same as WPF and the default value is overridden in the same controls as WPF (where present).
#Conflicts:
# samples/IntegrationTestApp/App.axaml.cs
# samples/IntegrationTestApp/MainWindow.axaml
# samples/IntegrationTestApp/MainWindow.axaml.cs
# samples/IntegrationTestApp/TopmostWindowTest.axaml.cs
# src/Avalonia.Controls/TreeViewItem.cs
# tests/Avalonia.IntegrationTests.Appium/ContextMenuTests.cs
# tests/Avalonia.IntegrationTests.Appium/PointerTests.cs
# tests/Avalonia.IntegrationTests.Appium/ScreenTests.cs
# tests/Avalonia.IntegrationTests.Appium/TrayIconTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowDecorationsTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs
* Add .NET 8 target to packable projects
* Update test projects
* Update sample projects to target .NET 8
* Update main Avalonia package to target .NET 8 as well
* Remove MSBuildEnableWorkloadResolver hack and some minor change
* Use net8.0 in nuke build as well
* Pin 8.0.0 SDK
* Adjust API validation
* Pin a valid version
* Remove net461 target from Avalonia package
* Remove unused net6.0 target from Avalonia.Designer.HostApp
* Adjust API diff
* Update ControlCatalog.Android.csproj
* Remove MSBuildEnableWorkloadResolver
* Fix Browser issues on .NET 8
* Fix .NET 8 error
* Fix merge conflicts
* Replace explicit TFMs in .csproj files with a centralized registry
* Fix merge conflict
* Fix AvsLegacyWindowsTargetFrameworks and add hacks for the tests
* Update XCode project CommandLineArgument
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
Make the untyped ItemContainerGenerator create `ContentPresenter`
containers when the data isn't a control. This is required for correct
binding to `DataContext` in a data template.