1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using System.Runtime.InteropServices;
- using Avalonia;
- using Avalonia.Platform;
- using MiniMvvm;
- namespace ControlCatalog.ViewModels;
- #nullable enable
- public class PlatformInformationViewModel : ViewModelBase
- {
- public PlatformInformationViewModel()
- {
- var runtimeInfo = AvaloniaLocator.Current.GetService<IRuntimePlatform>()?.GetRuntimeInfo();
- if (runtimeInfo is { } info)
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Create("BROWSER")))
- {
- if (info.IsDesktop)
- {
- PlatformInfo = "Platform: Desktop (browser)";
- }
- else if (info.IsMobile)
- {
- PlatformInfo = "Platform: Mobile (browser)";
- }
- else
- {
- PlatformInfo = "Platform: Unknown (browser) - please report";
- }
- }
- else
- {
- if (info.IsDesktop)
- {
- PlatformInfo = "Platform: Desktop (native)";
- }
- else if (info.IsMobile)
- {
- PlatformInfo = "Platform: Mobile (native)";
- }
- else
- {
- PlatformInfo = "Platform: Unknown (native) - please report";
- }
- }
- }
- else
- {
-
- }
- }
-
- public string PlatformInfo { get; }
- }
|