├── .DS_Store ├── .gitignore ├── .vscode ├── launch.json └── tasks.json ├── Blazor.Electron ├── .vscode │ ├── launch.json │ └── tasks.json ├── App.razor ├── BlazorServerSide.csproj ├── Data │ ├── WeatherForecast.cs │ └── WeatherForecastService.cs ├── Pages │ ├── Counter.razor │ ├── Error.razor │ ├── FetchData.razor │ ├── Index.razor │ └── _Host.cshtml ├── Program.cs ├── Properties │ └── launchSettings.json ├── Shared │ ├── MainLayout.razor │ ├── NavMenu.razor │ └── SurveyPrompt.razor ├── Startup.cs ├── _Imports.razor ├── appsettings.Development.json ├── appsettings.json ├── electron.manifest.json ├── readme.md └── wwwroot │ ├── css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ │ ├── css │ │ │ └── open-iconic-bootstrap.min.css │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.svg │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ └── site.css │ └── favicon.ico ├── Blazor.WebView ├── App.razor ├── BlazorDesktopApp.csproj ├── Pages │ ├── Counter.razor │ ├── FetchData.razor │ └── Index.razor ├── Program.cs ├── Properties │ └── launchSettings.json ├── Shared │ ├── MainLayout.razor │ ├── NavMenu.razor │ └── SurveyPrompt.razor ├── Startup.cs ├── _Imports.razor ├── readme.md └── wwwroot │ ├── css │ ├── app.css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ │ ├── css │ │ │ └── open-iconic-bootstrap.min.css │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.svg │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ └── site.css │ ├── favicon.ico │ ├── index.html │ └── sample-data │ └── weather.json ├── BlazorPWA ├── App.razor ├── BlazorPWA.csproj ├── Pages │ ├── Counter.razor │ ├── FetchData.razor │ └── Index.razor ├── Program.cs ├── Properties │ └── launchSettings.json ├── Shared │ ├── MainLayout.razor │ ├── MainLayout.razor.css │ ├── NavMenu.razor │ ├── NavMenu.razor.css │ └── SurveyPrompt.razor ├── _Imports.razor └── wwwroot │ ├── css │ ├── app.css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ ├── css │ │ └── open-iconic-bootstrap.min.css │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.svg │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff │ ├── favicon.ico │ ├── icon-192.png │ ├── icon-512.png │ ├── index.html │ ├── manifest.json │ ├── sample-data │ └── weather.json │ ├── service-worker.js │ └── service-worker.published.js ├── DotNetNative ├── DotNetNative.sln ├── MacCatalyst │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon1024.png │ │ │ ├── Icon128.png │ │ │ ├── Icon16.png │ │ │ ├── Icon256.png │ │ │ ├── Icon32.png │ │ │ ├── Icon512.png │ │ │ └── Icon64.png │ ├── Entitlements.plist │ ├── Info.plist │ ├── MacCatalyst.csproj │ ├── Main.cs │ ├── Resources │ │ └── LaunchScreen.xib │ └── SceneDelegate.cs ├── MacOs │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── AppIcon-128.png │ │ │ ├── AppIcon-128@2x.png │ │ │ ├── AppIcon-16.png │ │ │ ├── AppIcon-16@2x.png │ │ │ ├── AppIcon-256.png │ │ │ ├── AppIcon-256@2x.png │ │ │ ├── AppIcon-32.png │ │ │ ├── AppIcon-32@2x.png │ │ │ ├── AppIcon-512.png │ │ │ ├── AppIcon-512@2x.png │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Entitlements.plist │ ├── Info.plist │ ├── MacOs.csproj │ ├── Main.cs │ ├── Main.storyboard │ ├── ViewController.cs │ └── ViewController.designer.cs ├── WinUI │ ├── WinUI (Package) │ │ ├── Images │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ │ ├── StoreLogo.png │ │ │ └── Wide310x150Logo.scale-200.png │ │ ├── Package.appxmanifest │ │ └── WinUI (Package).wapproj │ └── WinUI │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ ├── WinUI.csproj │ │ └── app.manifest ├── Wpf │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── Wpf.csproj └── WpfHybrid │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── WpfHybrid.csproj ├── Maui ├── App.xaml ├── App.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── Maui.csproj ├── Maui.sln ├── MauiProgram.cs ├── Platforms │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ ├── Program.cs │ │ └── Resources │ │ └── LaunchScreen.xib ├── Properties │ └── launchSettings.json └── Resources │ ├── Fonts │ └── OpenSans-Regular.ttf │ ├── Images │ └── dotnet_bot.svg │ ├── appicon.svg │ └── appiconfg.svg ├── MauiBlazor ├── App.xaml ├── App.xaml.cs ├── AppState.cs ├── Data │ ├── WeatherForecast.cs │ └── WeatherForecastService.cs ├── Main.razor ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiBlazor.csproj ├── MauiBlazor.sln ├── MauiProgram.cs ├── Pages │ ├── Counter.razor │ ├── FetchData.razor │ └── Index.razor ├── Platforms │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ ├── Program.cs │ │ └── Resources │ │ └── LaunchScreen.xib ├── Properties │ └── launchSettings.json ├── Resources │ ├── Fonts │ │ └── OpenSans-Regular.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── appicon.svg │ └── appiconfg.svg ├── Shared │ ├── MainLayout.razor │ ├── NavMenu.razor │ └── SurveyPrompt.razor ├── _Imports.razor └── wwwroot │ ├── css │ ├── app.css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ ├── css │ │ └── open-iconic-bootstrap.min.css │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.svg │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff │ └── index.html ├── README.md ├── Uno ├── .DS_Store ├── .vsconfig ├── NuGet.config ├── Uno.sln └── Uno │ ├── Uno.Mobile │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── Assets │ │ │ ├── AboutAssets.txt │ │ │ └── Fonts │ │ │ │ └── uno-fluentui-assets.ttf │ │ ├── Main.Android.cs │ │ ├── MainActivity.Android.cs │ │ └── Resources │ │ │ ├── AboutResources.txt │ │ │ ├── mipmap-hdpi │ │ │ └── icon.png │ │ │ ├── mipmap-ldpi │ │ │ └── icon.png │ │ │ ├── mipmap-mdpi │ │ │ └── icon.png │ │ │ ├── mipmap-tvdpi │ │ │ └── icon.png │ │ │ ├── mipmap-xhdpi │ │ │ └── icon.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── icon.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── icon.png │ │ │ └── values │ │ │ ├── Strings.xml │ │ │ └── Styles.xml │ ├── MacCatalyst │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ ├── Main.maccatalyst.cs │ │ ├── Media.xcassets │ │ │ ├── AppIcons.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── Icon1024.png │ │ │ │ ├── Icon120.png │ │ │ │ ├── Icon152.png │ │ │ │ ├── Icon167.png │ │ │ │ ├── Icon180.png │ │ │ │ ├── Icon20.png │ │ │ │ ├── Icon29.png │ │ │ │ ├── Icon40.png │ │ │ │ ├── Icon58.png │ │ │ │ ├── Icon60.png │ │ │ │ ├── Icon76.png │ │ │ │ ├── Icon80.png │ │ │ │ └── Icon87.png │ │ │ └── LaunchImages.launchimage │ │ │ │ └── Contents.json │ │ └── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Fonts │ │ │ └── uno-fluentui-assets.ttf │ │ │ ├── SplashScreen@2x.png │ │ │ └── SplashScreen@3x.png │ ├── MacOS │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── AppIcon-128.png │ │ │ │ ├── AppIcon-128@2x.png │ │ │ │ ├── AppIcon-16.png │ │ │ │ ├── AppIcon-16@2x.png │ │ │ │ ├── AppIcon-256.png │ │ │ │ ├── AppIcon-256@2x.png │ │ │ │ ├── AppIcon-32.png │ │ │ │ ├── AppIcon-32@2x.png │ │ │ │ ├── AppIcon-512.png │ │ │ │ ├── AppIcon-512@2x.png │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ └── unologo.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── unoplatform.jpg │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── Main.cs │ │ └── Resources │ │ │ └── Fonts │ │ │ └── uno-fluentui-assets.ttf │ ├── Uno.Mobile.csproj │ └── iOS │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ ├── Main.iOS.cs │ │ ├── Media.xcassets │ │ ├── AppIcons.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon1024.png │ │ │ ├── Icon120.png │ │ │ ├── Icon152.png │ │ │ ├── Icon167.png │ │ │ ├── Icon180.png │ │ │ ├── Icon20.png │ │ │ ├── Icon29.png │ │ │ ├── Icon40.png │ │ │ ├── Icon58.png │ │ │ ├── Icon60.png │ │ │ ├── Icon76.png │ │ │ ├── Icon80.png │ │ │ └── Icon87.png │ │ └── LaunchImages.launchimage │ │ │ └── Contents.json │ │ └── Resources │ │ ├── Default-568h@2x.png │ │ ├── Fonts │ │ └── uno-fluentui-assets.ttf │ │ ├── SplashScreen@2x.png │ │ └── SplashScreen@3x.png │ ├── Uno.Shared │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ └── SharedAssets.md │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Strings │ │ └── en │ │ │ └── Resources.resw │ ├── Uno.Shared.projitems │ └── Uno.Shared.shproj │ ├── Uno.Skia.Gtk │ ├── Assets │ │ └── Fonts │ │ │ └── uno-fluentui-assets.ttf │ ├── Program.cs │ └── Uno.Skia.Gtk.csproj │ ├── Uno.Skia.Wpf.Host │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ └── Fonts │ │ │ └── uno-fluentui-assets.ttf │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ └── Uno.Skia.Wpf.Host.csproj │ ├── Uno.Skia.Wpf │ ├── Program.cs │ └── Uno.Skia.Wpf.csproj │ ├── Uno.UWP │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── Package.appxmanifest │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ └── Uno.UWP.csproj │ └── Uno.Wasm │ ├── Assets │ └── SplashScreen.png │ ├── LinkerConfig.xml │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Uno.Wasm.csproj │ ├── WasmCSS │ └── Fonts.css │ ├── WasmScripts │ └── AppManifest.js │ └── wwwroot │ └── web.config ├── Xamarin.Forms ├── .DS_Store ├── FormsDesktop.Android │ ├── Assets │ │ └── AboutAssets.txt │ ├── FormsDesktop.Android.csproj │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── AboutResources.txt │ │ ├── Resource.designer.cs │ │ ├── drawable │ │ └── xamarin_logo.png │ │ ├── layout │ │ ├── Tabbar.xml │ │ └── Toolbar.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── icon.xml │ │ └── icon_round.xml │ │ ├── mipmap-hdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-mdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ │ └── values │ │ ├── colors.xml │ │ └── styles.xml ├── FormsDesktop.MacOS │ ├── .DS_Store │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── AppIcon-128.png │ │ │ ├── AppIcon-128@2x.png │ │ │ ├── AppIcon-16.png │ │ │ ├── AppIcon-16@2x.png │ │ │ ├── AppIcon-256.png │ │ │ ├── AppIcon-256@2x.png │ │ │ ├── AppIcon-32.png │ │ │ ├── AppIcon-32@2x.png │ │ │ ├── AppIcon-512.png │ │ │ ├── AppIcon-512@2x.png │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Entitlements.plist │ ├── FormsDesktop.MacOS.csproj │ ├── Info.plist │ ├── MacOsNotifyService.cs │ ├── Main.cs │ ├── Main.storyboard │ ├── ViewController.cs │ ├── ViewController.designer.cs │ └── packages.config ├── FormsDesktop.UWP │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LargeTile.scale-100.png │ │ ├── LargeTile.scale-200.png │ │ ├── LargeTile.scale-400.png │ │ ├── SmallTile.scale-100.png │ │ ├── SmallTile.scale-200.png │ │ ├── SmallTile.scale-400.png │ │ ├── SplashScreen.scale-100.png │ │ ├── SplashScreen.scale-200.png │ │ ├── SplashScreen.scale-400.png │ │ ├── Square150x150Logo.scale-100.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square150x150Logo.scale-400.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-16.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ │ ├── Square44x44Logo.altform-unplated_targetsize-48.png │ │ ├── Square44x44Logo.scale-100.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.scale-400.png │ │ ├── Square44x44Logo.targetsize-16.png │ │ ├── Square44x44Logo.targetsize-256.png │ │ ├── Square44x44Logo.targetsize-48.png │ │ ├── StoreLogo.backup.png │ │ ├── StoreLogo.scale-100.png │ │ ├── StoreLogo.scale-200.png │ │ ├── StoreLogo.scale-400.png │ │ ├── Wide310x150Logo.scale-100.png │ │ ├── Wide310x150Logo.scale-200.png │ │ └── Wide310x150Logo.scale-400.png │ ├── FormsDesktop.UWP.csproj │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Package.appxmanifest │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ ├── add.png │ ├── cancel.png │ ├── save.png │ └── xamarin_logo.png ├── FormsDesktop.WPF │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── FormsDesktop.WPF.csproj │ ├── MainWindow.xaml │ └── MainWindow.xaml.cs ├── FormsDesktop.iOS │ ├── AppDelegate.cs │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon1024.png │ │ │ ├── Icon120.png │ │ │ ├── Icon152.png │ │ │ ├── Icon167.png │ │ │ ├── Icon180.png │ │ │ ├── Icon20.png │ │ │ ├── Icon29.png │ │ │ ├── Icon40.png │ │ │ ├── Icon58.png │ │ │ ├── Icon60.png │ │ │ ├── Icon76.png │ │ │ ├── Icon80.png │ │ │ └── Icon87.png │ ├── Entitlements.plist │ ├── FormsDesktop.iOS.csproj │ ├── Info.plist │ ├── Main.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Default-Portrait@2x.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ ├── LaunchScreen.storyboard │ │ ├── tab_about.png │ │ ├── tab_about@2x.png │ │ ├── tab_about@3x.png │ │ ├── tab_feed.png │ │ ├── tab_feed@2x.png │ │ ├── tab_feed@3x.png │ │ ├── xamarin_logo.png │ │ ├── xamarin_logo@2x.png │ │ └── xamarin_logo@3x.png ├── FormsDesktop.sln ├── FormsDesktop │ ├── .DS_Store │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── FormsDesktop.csproj │ ├── Models │ │ ├── HomeMenuItem.cs │ │ └── Item.cs │ ├── Services │ │ ├── IDataStore.cs │ │ ├── INotifyService.cs │ │ └── MockDataStore.cs │ ├── ViewModels │ │ ├── AboutViewModel.cs │ │ ├── BaseViewModel.cs │ │ ├── ItemDetailViewModel.cs │ │ └── ItemsViewModel.cs │ └── Views │ │ ├── AboutPage.xaml │ │ ├── AboutPage.xaml.cs │ │ ├── ItemDetailPage.xaml │ │ ├── ItemDetailPage.xaml.cs │ │ ├── ItemsPage.xaml │ │ ├── ItemsPage.xaml.cs │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── MenuPage.xaml │ │ ├── MenuPage.xaml.cs │ │ ├── NewItemPage.xaml │ │ └── NewItemPage.xaml.cs └── readme.md ├── docs └── install-pwa.png └── global.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/.DS_Store -------------------------------------------------------------------------------- /Blazor.Electron/App.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 |

Sorry, there's nothing at this address.

9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /Blazor.Electron/BlazorServerSide.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | netcoreapp3.1 4 | 5 | 6 | 7 | 8 | 9 | 10 | PreserveNewest 11 | 12 | 13 | -------------------------------------------------------------------------------- /Blazor.Electron/Data/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlazorServerSide.Data 4 | { 5 | public class WeatherForecast 6 | { 7 | public DateTime Date { get; set; } 8 | 9 | public int TemperatureC { get; set; } 10 | 11 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 12 | 13 | public string Summary { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Blazor.Electron/Data/WeatherForecastService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | 5 | namespace BlazorServerSide.Data 6 | { 7 | public class WeatherForecastService 8 | { 9 | private static readonly string[] Summaries = new[] 10 | { 11 | "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" 12 | }; 13 | 14 | public Task GetForecastAsync(DateTime startDate) 15 | { 16 | var rng = new Random(); 17 | return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast 18 | { 19 | Date = startDate.AddDays(index), 20 | TemperatureC = rng.Next(-20, 55), 21 | Summary = Summaries[rng.Next(Summaries.Length)] 22 | }).ToArray()); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Blazor.Electron/Pages/Error.razor: -------------------------------------------------------------------------------- 1 | @page "/error" 2 | 3 | 4 |

Error.

5 |

An error occurred while processing your request.

6 | 7 |

Development Mode

8 |

9 | Swapping to Development environment will display more detailed information about the error that occurred. 10 |

11 |

12 | The Development environment shouldn't be enabled for deployed applications. 13 | It can result in displaying sensitive information from exceptions to end users. 14 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 15 | and restarting the app. 16 |

-------------------------------------------------------------------------------- /Blazor.Electron/Pages/FetchData.razor: -------------------------------------------------------------------------------- 1 | @page "/fetchdata" 2 | 3 | @using BlazorServerSide.Data 4 | @inject WeatherForecastService ForecastService 5 | 6 |

Weather forecast

7 | 8 |

This component demonstrates fetching data from a service.

9 | 10 | @if (forecasts == null) 11 | { 12 |

Loading...

13 | } 14 | else 15 | { 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | @foreach (var forecast in forecasts) 27 | { 28 | 29 | 30 | 31 | 32 | 33 | 34 | } 35 | 36 |
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
37 | } 38 | 39 | @code { 40 | private WeatherForecast[] forecasts; 41 | 42 | protected override async Task OnInitializedAsync() 43 | { 44 | forecasts = await ForecastService.GetForecastAsync(DateTime.Now); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Blazor.Electron/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Blazor.Electron/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorServerSide.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = null; 6 | } 7 | 8 | 9 | 10 | 11 | 12 | 13 | BlazorServerSide 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | An error has occurred. This application may no longer respond until reloaded. 26 | 27 | 28 | An unhandled exception has occurred. See browser dev tools for details. 29 | 30 | Reload 31 | 🗙 32 |
33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Blazor.Electron/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using ElectronNET.API; 7 | using Microsoft.AspNetCore; 8 | using Microsoft.AspNetCore.Hosting; 9 | using Microsoft.Extensions.Configuration; 10 | using Microsoft.Extensions.Hosting; 11 | using Microsoft.Extensions.Logging; 12 | 13 | namespace BlazorServerSide 14 | { 15 | public class Program 16 | { 17 | public static void Main(string[] args) 18 | { 19 | CreateHostBuilder(args).Build().Run(); 20 | } 21 | 22 | public static IHostBuilder CreateHostBuilder(string[] args) => 23 | Host.CreateDefaultBuilder(args) 24 | .ConfigureWebHostDefaults(webBuilder => 25 | { 26 | webBuilder.UseElectron(args); 27 | webBuilder.UseStartup(); 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Blazor.Electron/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:36183", 7 | "sslPort": 44384 8 | } 9 | }, 10 | "profiles": { 11 | "Electron.NET App": { 12 | "commandName": "Executable", 13 | "executablePath": "electronize", 14 | "commandLineArgs": "start", 15 | "workingDirectory": "." 16 | }, 17 | 18 | "IIS Express": { 19 | "commandName": "IISExpress", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | } 24 | }, 25 | "BlazorServerSide": { 26 | "commandName": "Project", 27 | "launchBrowser": true, 28 | "applicationUrl": "https://localhost:5004;http://localhost:5005", 29 | "environmentVariables": { 30 | "ASPNETCORE_ENVIRONMENT": "Development" 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Blazor.Electron/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 | About 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 | -------------------------------------------------------------------------------- /Blazor.Electron/Shared/NavMenu.razor: -------------------------------------------------------------------------------- 1 |  7 | 8 |
9 | 26 |
27 | 28 | @code { 29 | private bool collapseNavMenu = true; 30 | 31 | private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; 32 | 33 | private void ToggleNavMenu() 34 | { 35 | collapseNavMenu = !collapseNavMenu; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Blazor.Electron/Shared/SurveyPrompt.razor: -------------------------------------------------------------------------------- 1 |  11 | 12 | @code { 13 | // Demonstrates how a parent component can supply parameters 14 | [Parameter] 15 | public string Title { get; set; } 16 | } 17 | -------------------------------------------------------------------------------- /Blazor.Electron/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using BlazorServerSide 9 | @using BlazorServerSide.Shared 10 | -------------------------------------------------------------------------------- /Blazor.Electron/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Blazor.Electron/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Blazor.Electron/electron.manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "executable": "BlazorServerSide", 3 | "splashscreen": { 4 | "imageFile": "" 5 | }, 6 | "singleInstance": false, 7 | "build": { 8 | "appId": "com.BlazorServerSide.app", 9 | "productName": "BlazorServerSide", 10 | "copyright": "Copyright © 2019", 11 | "buildVersion": "1.0.0", 12 | "compression": "maximum", 13 | "directories": { 14 | "output": "../../../bin/Desktop" 15 | }, 16 | "extraResources": [ 17 | { 18 | "from": "./bin", 19 | "to": "bin", 20 | "filter": ["**/*"] 21 | } 22 | ], 23 | "files": [ 24 | { 25 | "from": "./ElectronHostHook/node_modules", 26 | "to": "ElectronHostHook/node_modules", 27 | "filter": ["**/*"] 28 | }, 29 | "**/*" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /Blazor.Electron/readme.md: -------------------------------------------------------------------------------- 1 | # Blazor + Electron sample 2 | 3 | The blazor + electron sample shows how to ship a Blazor server side application inside electron as a native desktop application across windows, macos and linux. 4 | 5 | Instead of using the ElectronJs library directly, the sample takes adventage of the Electron.NET library which provides tooling, startup and wrapper methods to be used with ASP.NET Core. You can learn more about Electron.NET and on how to set up the project ehre https://github.com/ElectronNET/Electron.NET. 6 | 7 | # Running the sample 8 | 9 | Running the sample requires the installation of the .NET Core SDK 3.1.3 (3.1.201) https://dotnet.microsoft.com/download/dotnet-core/3.1 10 | 11 | ElectronNET provides a global dotnet tool to initialize and start the application, it can be installed using the following command: 12 | ``` 13 | dotnet tool install ElectronNET.CLI -g 14 | ```` 15 | Since the project is already setup and initialized, you can start it up immediately using 16 | ``` 17 | electronize start 18 | ``` -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/css/open-iconic/ICON-LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Waybury 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.Electron/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Blazor.Electron/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.Electron/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Blazor.WebView/App.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /Blazor.WebView/BlazorDesktopApp.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.0 5 | WinExe 6 | 7 | 8 | 9 | 10 | PreserveNewest 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Blazor.WebView/Pages/Counter.razor: -------------------------------------------------------------------------------- 1 | @page "/counter" 2 | 3 |

Counter

4 | 5 |

Current count: @currentCount

6 | 7 | 8 | 9 | @code { 10 | int currentCount = 0; 11 | 12 | void IncrementCount() 13 | { 14 | currentCount++; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Blazor.WebView/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | -------------------------------------------------------------------------------- /Blazor.WebView/Program.cs: -------------------------------------------------------------------------------- 1 | using WebWindows.Blazor; 2 | using System; 3 | 4 | namespace BlazorDesktopApp 5 | { 6 | public class Program 7 | { 8 | static void Main(string[] args) 9 | { 10 | ComponentsDesktop.Run("My Blazor App", "wwwroot/index.html"); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Blazor.WebView/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:51787/", 7 | "sslPort": 44323 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "BlazorWebView": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "https://localhost:5001;http://localhost:5000" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Blazor.WebView/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 |
10 | 11 |
12 | @Body 13 |
14 |
15 | -------------------------------------------------------------------------------- /Blazor.WebView/Shared/NavMenu.razor: -------------------------------------------------------------------------------- 1 |  7 | 8 |
9 | 26 |
27 | 28 | @code { 29 | bool collapseNavMenu = true; 30 | 31 | string NavMenuCssClass => collapseNavMenu ? "collapse" : null; 32 | 33 | void ToggleNavMenu() 34 | { 35 | collapseNavMenu = !collapseNavMenu; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Blazor.WebView/Shared/SurveyPrompt.razor: -------------------------------------------------------------------------------- 1 |  11 | 12 | @code { 13 | // Demonstrates how a parent component can supply parameters 14 | [Parameter] 15 | public string Title { get; set; } 16 | } 17 | -------------------------------------------------------------------------------- /Blazor.WebView/Startup.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using WebWindows.Blazor; 3 | 4 | namespace BlazorDesktopApp 5 | { 6 | public class Startup 7 | { 8 | public void ConfigureServices(IServiceCollection services) 9 | { 10 | } 11 | 12 | public void Configure(DesktopApplicationBuilder app) 13 | { 14 | app.AddComponent("app"); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Blazor.WebView/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Forms 4 | @using Microsoft.AspNetCore.Components.Routing 5 | @using Microsoft.AspNetCore.Components.Web 6 | @using Microsoft.JSInterop 7 | @using BlazorDesktopApp 8 | @using BlazorDesktopApp.Shared 9 | -------------------------------------------------------------------------------- /Blazor.WebView/readme.md: -------------------------------------------------------------------------------- 1 | # Blazor WebView sample 2 | 3 | Blazor WebView is an experimantel solution by Steve Sanderson which serves Blazor or any other web application inside the native platform browser, like Safari or Edge. The solution is explained in detail by Steve Sanderson in a [blog post](https://blog.stevensanderson.com/2019/11/18/2019-11-18-webwindow-a-cross-platform-webview-for-dotnet-core/). You can find the project on GitHub https://github.com/SteveSandersonMS/WebWindow where I got the sample. 4 | 5 | # Running the sample 6 | 7 | Running the sample requires the installation of the .NET Core SDK 3.1.3 (3.1.201) https://dotnet.microsoft.com/download/dotnet-core/3.1 8 | 9 | The sample is simply started using `dotnet run` 10 | 11 | # License 12 | 13 | The sample is originally by Steve Sanderson, published under [Apache License 2.0](https://github.com/SteveSandersonMS/WebWindow/blob/master/LICENSE.txt) on [GitHub](https://github.com/SteveSandersonMS/WebWindow/tree/master/samples/BlazorDesktopApp). -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/css/open-iconic/ICON-LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Waybury 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.WebView/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Blazor.WebView/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MyDesktopApp 7 | 8 | 9 | 10 | 11 | 12 | Loading... 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Blazor.WebView/wwwroot/sample-data/weather.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "date": "2018-05-06", 4 | "temperatureC": 1, 5 | "summary": "Freezing", 6 | "temperatureF": 33 7 | }, 8 | { 9 | "date": "2018-05-07", 10 | "temperatureC": 14, 11 | "summary": "Bracing", 12 | "temperatureF": 57 13 | }, 14 | { 15 | "date": "2018-05-08", 16 | "temperatureC": -13, 17 | "summary": "Freezing", 18 | "temperatureF": 9 19 | }, 20 | { 21 | "date": "2018-05-09", 22 | "temperatureC": -16, 23 | "summary": "Balmy", 24 | "temperatureF": 4 25 | }, 26 | { 27 | "date": "2018-05-10", 28 | "temperatureC": -2, 29 | "summary": "Chilly", 30 | "temperatureF": 29 31 | } 32 | ] 33 | -------------------------------------------------------------------------------- /BlazorPWA/App.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /BlazorPWA/BlazorPWA.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | enable 7 | service-worker-assets.js 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /BlazorPWA/Pages/Counter.razor: -------------------------------------------------------------------------------- 1 | @page "/counter" 2 | 3 | Counter 4 | 5 |

Counter

6 | 7 |

Current count: @currentCount

8 | 9 | 10 | 11 | @code { 12 | private int currentCount = 0; 13 | 14 | private void IncrementCount() 15 | { 16 | currentCount++; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /BlazorPWA/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | Index 4 | 5 |

Hello, world!

6 | 7 | Welcome to your new app. 8 | 9 | 10 | -------------------------------------------------------------------------------- /BlazorPWA/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Web; 2 | using Microsoft.AspNetCore.Components.WebAssembly.Hosting; 3 | using BlazorPWA; 4 | 5 | var builder = WebAssemblyHostBuilder.CreateDefault(args); 6 | builder.RootComponents.Add("#app"); 7 | builder.RootComponents.Add("head::after"); 8 | 9 | builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); 10 | 11 | await builder.Build().RunAsync(); 12 | -------------------------------------------------------------------------------- /BlazorPWA/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:43839", 7 | "sslPort": 44329 8 | } 9 | }, 10 | "profiles": { 11 | "BlazorPWA": { 12 | "commandName": "Project", 13 | "dotnetRunMessages": true, 14 | "launchBrowser": true, 15 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", 16 | "applicationUrl": "https://localhost:7275;http://localhost:5039", 17 | "environmentVariables": { 18 | "ASPNETCORE_ENVIRONMENT": "Development" 19 | } 20 | }, 21 | "IIS Express": { 22 | "commandName": "IISExpress", 23 | "launchBrowser": true, 24 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", 25 | "environmentVariables": { 26 | "ASPNETCORE_ENVIRONMENT": "Development" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /BlazorPWA/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 | 7 | 8 |
9 |
10 | About 11 |
12 | 13 |
14 | @Body 15 |
16 |
17 |
18 | -------------------------------------------------------------------------------- /BlazorPWA/Shared/SurveyPrompt.razor: -------------------------------------------------------------------------------- 1 | 
2 | 3 | @Title 4 | 5 | 6 | Please take our 7 | brief survey 8 | 9 | and tell us what you think. 10 |
11 | 12 | @code { 13 | // Demonstrates how a parent component can supply parameters 14 | [Parameter] 15 | public string? Title { get; set; } 16 | } 17 | -------------------------------------------------------------------------------- /BlazorPWA/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using System.Net.Http.Json 3 | @using Microsoft.AspNetCore.Components.Forms 4 | @using Microsoft.AspNetCore.Components.Routing 5 | @using Microsoft.AspNetCore.Components.Web 6 | @using Microsoft.AspNetCore.Components.Web.Virtualization 7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http 8 | @using Microsoft.JSInterop 9 | @using BlazorPWA 10 | @using BlazorPWA.Shared 11 | -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/css/open-iconic/ICON-LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Waybury 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/favicon.ico -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/icon-192.png -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/BlazorPWA/wwwroot/icon-512.png -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | BlazorPWA 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
Loading...
19 | 20 |
21 | An unhandled error has occurred. 22 | Reload 23 | 🗙 24 |
25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BlazorPWA", 3 | "short_name": "BlazorPWA", 4 | "start_url": "./", 5 | "display": "standalone", 6 | "background_color": "#ffffff", 7 | "theme_color": "#03173d", 8 | "prefer_related_applications": false, 9 | "icons": [ 10 | { 11 | "src": "icon-512.png", 12 | "type": "image/png", 13 | "sizes": "512x512" 14 | }, 15 | { 16 | "src": "icon-192.png", 17 | "type": "image/png", 18 | "sizes": "192x192" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/sample-data/weather.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "date": "2018-05-06", 4 | "temperatureC": 1, 5 | "summary": "Freezing" 6 | }, 7 | { 8 | "date": "2018-05-07", 9 | "temperatureC": 14, 10 | "summary": "Bracing" 11 | }, 12 | { 13 | "date": "2018-05-08", 14 | "temperatureC": -13, 15 | "summary": "Freezing" 16 | }, 17 | { 18 | "date": "2018-05-09", 19 | "temperatureC": -16, 20 | "summary": "Balmy" 21 | }, 22 | { 23 | "date": "2018-05-10", 24 | "temperatureC": -2, 25 | "summary": "Chilly" 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /BlazorPWA/wwwroot/service-worker.js: -------------------------------------------------------------------------------- 1 | // In development, always fetch from the network and do not enable offline support. 2 | // This is because caching would make development more difficult (changes would not 3 | // be reflected on the first load after each change). 4 | self.addEventListener('fetch', () => { }); 5 | -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | namespace MacCatalyst; 2 | 3 | [Register ("AppDelegate")] 4 | public class AppDelegate : UIApplicationDelegate { 5 | public override UIWindow? Window { 6 | get; 7 | set; 8 | } 9 | 10 | public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions) 11 | { 12 | // create a new window instance based on the screen size 13 | Window = new UIWindow (UIScreen.MainScreen.Bounds); 14 | 15 | // create a UIViewController with a single UILabel 16 | var vc = new UIViewController (); 17 | vc.View!.AddSubview (new UILabel (Window!.Frame) { 18 | BackgroundColor = UIColor.White, 19 | TextAlignment = UITextAlignment.Center, 20 | Text = "Hello, Catalyst!" 21 | }); 22 | Window.RootViewController = vc; 23 | 24 | // make the window visible 25 | Window.MakeKeyAndVisible (); 26 | 27 | return true; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon128.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon16.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon256.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon32.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon512.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacCatalyst/Assets.xcassets/AppIcon.appiconset/Icon64.png -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CFBundleDisplayName 6 | MacCatalyst 7 | CFBundleIdentifier 8 | com.companyname.MacCatalyst 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSMinimumSystemVersion 14 | 10.15.1 15 | UIDeviceFamily 16 | 17 | 2 18 | 19 | UISupportedInterfaceOrientations 20 | 21 | UIInterfaceOrientationPortrait 22 | UIInterfaceOrientationLandscapeLeft 23 | UIInterfaceOrientationLandscapeRight 24 | 25 | XSAppIconAssets 26 | Assets.xcassets/AppIcon.appiconset 27 | 28 | -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/MacCatalyst.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0-maccatalyst 4 | maccatalyst-x64 5 | Exe 6 | enable 7 | true 8 | 9 | 10 | -------------------------------------------------------------------------------- /DotNetNative/MacCatalyst/Main.cs: -------------------------------------------------------------------------------- 1 | using MacCatalyst; 2 | 3 | // This is the main entry point of the application. 4 | // If you want to use a different Application Delegate class from "AppDelegate" 5 | // you can specify it here. 6 | UIApplication.Main (args, null, typeof (AppDelegate)); 7 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | namespace MacOs; 2 | 3 | [Register ("AppDelegate")] 4 | public class AppDelegate : NSApplicationDelegate { 5 | public override void DidFinishLaunching (NSNotification notification) 6 | { 7 | // Insert code here to initialize your application 8 | } 9 | 10 | public override void WillTerminate (NSNotification notification) 11 | { 12 | // Insert code here to tear down your application 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/MacOs/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png -------------------------------------------------------------------------------- /DotNetNative/MacOs/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DotNetNative/MacOs/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CFBundleName 6 | MacOs 7 | CFBundleIdentifier 8 | com.companyname.MacOs 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1 13 | LSMinimumSystemVersion 14 | 10.14 15 | CFBundleDevelopmentRegion 16 | en 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | NSHumanReadableCopyright 24 | ${AuthorCopyright:HtmlEncode} 25 | NSPrincipalClass 26 | NSApplication 27 | NSMainStoryboardFile 28 | Main 29 | XSAppIconAssets 30 | Assets.xcassets/AppIcon.appiconset 31 | 32 | 33 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/MacOs.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0-macos 4 | Exe 5 | enable 6 | true 7 | 8 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/Main.cs: -------------------------------------------------------------------------------- 1 | using MacOs; 2 | 3 | // This is the main entry point of the application. 4 | NSApplication.Init (); 5 | NSApplication.Main (args); 6 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/ViewController.cs: -------------------------------------------------------------------------------- 1 | namespace MacOs; 2 | 3 | public partial class ViewController : NSViewController { 4 | public ViewController (IntPtr handle) : base (handle) 5 | { 6 | } 7 | 8 | public override void ViewDidLoad () 9 | { 10 | base.ViewDidLoad (); 11 | 12 | // Do any additional setup after loading the view. 13 | } 14 | 15 | public override NSObject RepresentedObject { 16 | get => base.RepresentedObject; 17 | set { 18 | base.RepresentedObject = value; 19 | 20 | // Update the view, if already loaded. 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /DotNetNative/MacOs/ViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Visual Studio to store outlets and 4 | // actions made in the UI designer. If it is removed, they will be lost. 5 | // Manual changes to this file may not be handled correctly. 6 | // 7 | 8 | namespace MacOs; 9 | 10 | [Register ("ViewController")] 11 | partial class ViewController { 12 | void ReleaseDesignerOutlets () 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/StoreLogo.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI (Package)/Images/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/DotNetNative/WinUI/WinUI (Package)/Images/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.UI.Xaml; 2 | using Microsoft.UI.Xaml.Controls; 3 | using Microsoft.UI.Xaml.Controls.Primitives; 4 | using Microsoft.UI.Xaml.Data; 5 | using Microsoft.UI.Xaml.Input; 6 | using Microsoft.UI.Xaml.Media; 7 | using Microsoft.UI.Xaml.Navigation; 8 | using System; 9 | using System.Collections.Generic; 10 | using System.IO; 11 | using System.Linq; 12 | using System.Runtime.InteropServices.WindowsRuntime; 13 | using Windows.Foundation; 14 | using Windows.Foundation.Collections; 15 | 16 | // To learn more about WinUI, the WinUI project structure, 17 | // and more about our project templates, see: http://aka.ms/winui-project-info. 18 | 19 | namespace WinUI 20 | { 21 | /// 22 | /// An empty window that can be used on its own or navigated to within a Frame. 23 | /// 24 | public sealed partial class MainWindow : Window 25 | { 26 | public MainWindow() 27 | { 28 | this.InitializeComponent(); 29 | } 30 | 31 | private void myButton_Click(object sender, RoutedEventArgs e) 32 | { 33 | myButton.Content = "Clicked"; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI/WinUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | WinExe 4 | net5.0-windows10.0.19041.0 5 | 10.0.17763.0 6 | WinUI 7 | app.manifest 8 | x86;x64;arm64 9 | win10-x86;win10-x64;win10-arm64 10 | true 11 | C:\out\WinUI 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /DotNetNative/WinUI/WinUI/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | true/PM 12 | PerMonitorV2, PerMonitor 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Wpf 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly:ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Wpf 17 | { 18 | /// 19 | /// Interaction logic for MainWindow.xaml 20 | /// 21 | public partial class MainWindow : Window 22 | { 23 | public MainWindow() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /DotNetNative/Wpf/Wpf.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | true 7 | 8 | 9 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace WpfHybrid 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WpfHybrid 17 | { 18 | /// 19 | /// Interaction logic for MainWindow.xaml 20 | /// 21 | public partial class MainWindow : Window 22 | { 23 | public MainWindow() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /DotNetNative/WpfHybrid/WpfHybrid.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | enable 7 | true 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Maui/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui; 2 | using Microsoft.Maui.Controls; 3 | using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific; 4 | using Application = Microsoft.Maui.Controls.Application; 5 | 6 | namespace Maui 7 | { 8 | public partial class App : Application 9 | { 10 | public App() 11 | { 12 | InitializeComponent(); 13 | 14 | MainPage = new MainPage(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Maui/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui.Controls; 3 | using Microsoft.Maui.Essentials; 4 | 5 | namespace Maui 6 | { 7 | public partial class MainPage : ContentPage 8 | { 9 | int count = 0; 10 | 11 | public MainPage() 12 | { 13 | InitializeComponent(); 14 | 15 | } 16 | 17 | private void OnCounterClicked(object sender, EventArgs e) 18 | { 19 | count++; 20 | 21 | CounterLabel.Text = $"Current count: {count}"; 22 | SemanticScreenReader.Announce(CounterLabel.Text); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Maui/Maui.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.0.31611.283 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui", "Maui.csproj", "{2BE58B29-59ED-4D70-8387-BE64A00215DA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Debug|Any CPU.Deploy.0 = Debug|Any CPU 17 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Release|Any CPU.ActiveCfg = Release|Any CPU 18 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Release|Any CPU.Build.0 = Release|Any CPU 19 | {2BE58B29-59ED-4D70-8387-BE64A00215DA}.Release|Any CPU.Deploy.0 = Release|Any CPU 20 | EndGlobalSection 21 | GlobalSection(SolutionProperties) = preSolution 22 | HideSolutionNode = FALSE 23 | EndGlobalSection 24 | GlobalSection(ExtensibilityGlobals) = postSolution 25 | SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572} 26 | EndGlobalSection 27 | EndGlobal 28 | -------------------------------------------------------------------------------- /Maui/MauiProgram.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui; 2 | using Microsoft.Maui.Hosting; 3 | using Microsoft.Maui.Controls.Compatibility; 4 | using Microsoft.Maui.Controls.Hosting; 5 | 6 | namespace Maui 7 | { 8 | public static class MauiProgram 9 | { 10 | public static MauiApp CreateMauiApp() 11 | { 12 | var builder = MauiApp.CreateBuilder(); 13 | builder 14 | .UseMauiApp() 15 | .ConfigureFonts(fonts => 16 | { 17 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); 18 | }); 19 | 20 | return builder.Build(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Maui/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Microsoft.Maui; 3 | 4 | namespace Maui 5 | { 6 | [Register("AppDelegate")] 7 | public class AppDelegate : MauiUIApplicationDelegate 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | } 11 | } -------------------------------------------------------------------------------- /Maui/Platforms/MacCatalyst/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSMinimumSystemVersion 6 | 10.15 7 | UIDeviceFamily 8 | 9 | 1 10 | 2 11 | 12 | UIRequiredDeviceCapabilities 13 | 14 | arm64 15 | 16 | UISupportedInterfaceOrientations 17 | 18 | UIInterfaceOrientationPortrait 19 | UIInterfaceOrientationLandscapeLeft 20 | UIInterfaceOrientationLandscapeRight 21 | 22 | UISupportedInterfaceOrientations~ipad 23 | 24 | UIInterfaceOrientationPortrait 25 | UIInterfaceOrientationPortraitUpsideDown 26 | UIInterfaceOrientationLandscapeLeft 27 | UIInterfaceOrientationLandscapeRight 28 | 29 | XSAppIconAssets 30 | Assets.xcassets/appicon.appiconset 31 | 32 | 33 | -------------------------------------------------------------------------------- /Maui/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Maui 4 | { 5 | public class Program 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(AppDelegate)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Maui/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Maui/Platforms/Windows/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui; 2 | using Microsoft.UI.Xaml; 3 | using Windows.ApplicationModel; 4 | 5 | // To learn more about WinUI, the WinUI project structure, 6 | // and more about our project templates, see: http://aka.ms/winui-project-info. 7 | 8 | namespace Maui.WinUI 9 | { 10 | /// 11 | /// Provides application-specific behavior to supplement the default Application class. 12 | /// 13 | public partial class App : MauiWinUIApplication 14 | { 15 | /// 16 | /// Initializes the singleton application object. This is the first line of authored code 17 | /// executed, and as such is the logical equivalent of main() or WinMain(). 18 | /// 19 | public App() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | 24 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 25 | 26 | protected override void OnLaunched(LaunchActivatedEventArgs args) 27 | { 28 | base.OnLaunched(args); 29 | 30 | Microsoft.Maui.Essentials.Platform.OnLaunched(args); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Maui/Platforms/Windows/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | true/PM 12 | PerMonitorV2, PerMonitor 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Maui/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Microsoft.Maui; 3 | 4 | namespace Maui 5 | { 6 | [Register("AppDelegate")] 7 | public class AppDelegate : MauiUIApplicationDelegate 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | } 11 | } -------------------------------------------------------------------------------- /Maui/Platforms/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSRequiresIPhoneOS 6 | 7 | MinimumOSVersion 8 | 10.3.4 9 | UIDeviceFamily 10 | 11 | 1 12 | 2 13 | 14 | UIRequiredDeviceCapabilities 15 | 16 | arm64 17 | 18 | UISupportedInterfaceOrientations 19 | 20 | UIInterfaceOrientationPortrait 21 | UIInterfaceOrientationLandscapeLeft 22 | UIInterfaceOrientationLandscapeRight 23 | 24 | UISupportedInterfaceOrientations~ipad 25 | 26 | UIInterfaceOrientationPortrait 27 | UIInterfaceOrientationPortraitUpsideDown 28 | UIInterfaceOrientationLandscapeLeft 29 | UIInterfaceOrientationLandscapeRight 30 | 31 | XSAppIconAssets 32 | Assets.xcassets/appicon.appiconset 33 | 34 | 35 | -------------------------------------------------------------------------------- /Maui/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Maui 4 | { 5 | public class Program 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(AppDelegate)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Maui/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Maui/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Maui/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /Maui/Resources/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /MauiBlazor/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui; 2 | using Microsoft.Maui.Controls; 3 | using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific; 4 | using Application = Microsoft.Maui.Controls.Application; 5 | 6 | namespace MauiBlazor 7 | { 8 | public partial class App : Application 9 | { 10 | internal static AppState State { get; set; } = new AppState(); 11 | 12 | public App() 13 | { 14 | InitializeComponent(); 15 | 16 | MainPage = new MainPage(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MauiBlazor/AppState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MauiBlazor 8 | { 9 | internal class AppState 10 | { 11 | public int Counter { get; private set; } = 0; 12 | 13 | public event EventHandler CounterChanged; 14 | 15 | public void IncrementCounter() 16 | { 17 | Counter++; 18 | CounterChanged?.Invoke(this, Counter); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MauiBlazor/Data/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MauiBlazor.Data 4 | { 5 | public class WeatherForecast 6 | { 7 | public DateTime Date { get; set; } 8 | 9 | public int TemperatureC { get; set; } 10 | 11 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 12 | 13 | public string Summary { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MauiBlazor/Data/WeatherForecastService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | 5 | namespace MauiBlazor.Data 6 | { 7 | public class WeatherForecastService 8 | { 9 | private static readonly string[] Summaries = new[] 10 | { 11 | "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" 12 | }; 13 | 14 | public Task GetForecastAsync(DateTime startDate) 15 | { 16 | var rng = new Random(); 17 | return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast 18 | { 19 | Date = startDate.AddDays(index), 20 | TemperatureC = rng.Next(-20, 55), 21 | Summary = Summaries[rng.Next(Summaries.Length)] 22 | }).ToArray()); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /MauiBlazor/Main.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /MauiBlazor/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui.Controls; 3 | 4 | namespace MauiBlazor 5 | { 6 | public partial class MainPage : ContentPage 7 | { 8 | public MainPage() 9 | { 10 | InitializeComponent(); 11 | App.State.CounterChanged += (s, e) => UpdateCounter(); 12 | } 13 | 14 | private void OnCounterClicked(object sender, EventArgs e) 15 | { 16 | App.State.IncrementCounter(); 17 | } 18 | 19 | private void UpdateCounter() 20 | { 21 | CounterLabel.Text = $"Current count: {App.State.Counter}"; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MauiBlazor/MauiProgram.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.WebView.Maui; 2 | using Microsoft.Extensions.DependencyInjection; 3 | using Microsoft.Maui; 4 | using Microsoft.Maui.Hosting; 5 | using Microsoft.Maui.Controls.Compatibility; 6 | using Microsoft.Maui.Controls.Hosting; 7 | using MauiBlazor.Data; 8 | 9 | namespace MauiBlazor 10 | { 11 | public static class MauiProgram 12 | { 13 | public static MauiApp CreateMauiApp() 14 | { 15 | var builder = MauiApp.CreateBuilder(); 16 | builder 17 | .RegisterBlazorMauiWebView() 18 | .UseMauiApp() 19 | .ConfigureFonts(fonts => 20 | { 21 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); 22 | }); 23 | 24 | builder.Services.AddBlazorWebView(); 25 | builder.Services.AddSingleton(); 26 | 27 | return builder.Build(); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /MauiBlazor/Pages/Counter.razor: -------------------------------------------------------------------------------- 1 | @page "/counter" 2 | 3 |

Counter

4 | 5 |

Current count: @currentCount

6 | 7 | 8 | 9 | @code { 10 | private int currentCount = 0; 11 | 12 | protected override void OnInitialized() 13 | { 14 | base.OnInitialized(); 15 | App.State.CounterChanged += (s, e) => 16 | { 17 | currentCount = e; 18 | StateHasChanged(); 19 | }; 20 | } 21 | 22 | private void IncrementCount() 23 | { 24 | App.State.IncrementCounter(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MauiBlazor/Pages/FetchData.razor: -------------------------------------------------------------------------------- 1 | @page "/fetchdata" 2 | 3 | @using MauiBlazor.Data 4 | @inject WeatherForecastService ForecastService 5 | 6 |

Weather forecast

7 | 8 |

This component demonstrates fetching data from a service.

9 | 10 | @if (forecasts == null) 11 | { 12 |

Loading...

13 | } 14 | else 15 | { 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | @foreach (var forecast in forecasts) 27 | { 28 | 29 | 30 | 31 | 32 | 33 | 34 | } 35 | 36 |
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
37 | } 38 | 39 | @code { 40 | private WeatherForecast[] forecasts; 41 | 42 | protected override async Task OnInitializedAsync() 43 | { 44 | forecasts = await ForecastService.GetForecastAsync(DateTime.Now); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /MauiBlazor/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Microsoft.Maui; 3 | 4 | namespace MauiBlazor 5 | { 6 | [Register("AppDelegate")] 7 | public class AppDelegate : MauiUIApplicationDelegate 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | } 11 | } -------------------------------------------------------------------------------- /MauiBlazor/Platforms/MacCatalyst/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSMinimumSystemVersion 6 | 10.15 7 | UIDeviceFamily 8 | 9 | 1 10 | 2 11 | 12 | UIRequiredDeviceCapabilities 13 | 14 | arm64 15 | 16 | UISupportedInterfaceOrientations 17 | 18 | UIInterfaceOrientationPortrait 19 | UIInterfaceOrientationLandscapeLeft 20 | UIInterfaceOrientationLandscapeRight 21 | 22 | UISupportedInterfaceOrientations~ipad 23 | 24 | UIInterfaceOrientationPortrait 25 | UIInterfaceOrientationPortraitUpsideDown 26 | UIInterfaceOrientationLandscapeLeft 27 | UIInterfaceOrientationLandscapeRight 28 | 29 | XSAppIconAssets 30 | Assets.xcassets/appicon.appiconset 31 | 32 | 33 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MauiBlazor 4 | { 5 | public class Program 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(AppDelegate)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /MauiBlazor/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/Windows/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui; 2 | using Microsoft.UI.Xaml; 3 | using Windows.ApplicationModel; 4 | 5 | // To learn more about WinUI, the WinUI project structure, 6 | // and more about our project templates, see: http://aka.ms/winui-project-info. 7 | 8 | namespace MauiBlazor.WinUI 9 | { 10 | /// 11 | /// Provides application-specific behavior to supplement the default Application class. 12 | /// 13 | public partial class App : MauiWinUIApplication 14 | { 15 | /// 16 | /// Initializes the singleton application object. This is the first line of authored code 17 | /// executed, and as such is the logical equivalent of main() or WinMain(). 18 | /// 19 | public App() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | 24 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 25 | 26 | protected override void OnLaunched(LaunchActivatedEventArgs args) 27 | { 28 | base.OnLaunched(args); 29 | 30 | Microsoft.Maui.Essentials.Platform.OnLaunched(args); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/Windows/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | true/PM 12 | PerMonitorV2, PerMonitor 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Microsoft.Maui; 3 | 4 | namespace MauiBlazor 5 | { 6 | [Register("AppDelegate")] 7 | public class AppDelegate : MauiUIApplicationDelegate 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | } 11 | } -------------------------------------------------------------------------------- /MauiBlazor/Platforms/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSRequiresIPhoneOS 6 | 7 | MinimumOSVersion 8 | 10.3.4 9 | UIDeviceFamily 10 | 11 | 1 12 | 2 13 | 14 | UIRequiredDeviceCapabilities 15 | 16 | arm64 17 | 18 | UISupportedInterfaceOrientations 19 | 20 | UIInterfaceOrientationPortrait 21 | UIInterfaceOrientationLandscapeLeft 22 | UIInterfaceOrientationLandscapeRight 23 | 24 | UISupportedInterfaceOrientations~ipad 25 | 26 | UIInterfaceOrientationPortrait 27 | UIInterfaceOrientationPortraitUpsideDown 28 | UIInterfaceOrientationLandscapeLeft 29 | UIInterfaceOrientationLandscapeRight 30 | 31 | XSAppIconAssets 32 | Assets.xcassets/appicon.appiconset 33 | 34 | 35 | -------------------------------------------------------------------------------- /MauiBlazor/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MauiBlazor 4 | { 5 | public class Program 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(AppDelegate)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /MauiBlazor/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /MauiBlazor/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/MauiBlazor/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /MauiBlazor/Resources/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /MauiBlazor/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 | About 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 | -------------------------------------------------------------------------------- /MauiBlazor/Shared/NavMenu.razor: -------------------------------------------------------------------------------- 1 |  7 | 8 |
9 | 26 |
27 | 28 | @code { 29 | private bool collapseNavMenu = true; 30 | 31 | private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; 32 | 33 | private void ToggleNavMenu() 34 | { 35 | collapseNavMenu = !collapseNavMenu; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /MauiBlazor/Shared/SurveyPrompt.razor: -------------------------------------------------------------------------------- 1 |  11 | 12 | @code { 13 | // Demonstrates how a parent component can supply parameters 14 | [Parameter] 15 | public string Title { get; set; } 16 | } 17 | -------------------------------------------------------------------------------- /MauiBlazor/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Components.Forms 3 | @using Microsoft.AspNetCore.Components.Routing 4 | @using Microsoft.AspNetCore.Components.Web 5 | @using Microsoft.AspNetCore.Components.Web.Virtualization 6 | @using Microsoft.JSInterop 7 | @using MauiBlazor 8 | @using MauiBlazor.Shared 9 | -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/css/open-iconic/ICON-LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Waybury 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/MauiBlazor/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /MauiBlazor/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MauiBlazor 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | An unhandled error has occurred. 18 | Reload 19 | 🗙 20 |
21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # .NET Desktop samples 2 | 3 | This repository contains multiple samples on how to create cross-platform desktop applications with .NET. Each folder contains a seperate readme with instructions on how to start the sample. 4 | 5 | You can find the following samples: 6 | * Blazor.Electron: Blazor + ElectronNET: macOS, Linux, Windows 7 | * Blazor.WebView: Blazor + WebWindow (experimental, unsupported): macOS, Linux, Windows 8 | * BlazorPWA: Blazor + Progressive Web App: macOS, Linux, Windows, iOS, Android 9 | * Uno Platform: Uno platform native and WebAssembly application: macOS, Windows, WebAssembly 10 | * Xamarin.Forms: Xamarin.Forms native applications: Windows, macOS, Android, iOS -------------------------------------------------------------------------------- /Uno/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/.DS_Store -------------------------------------------------------------------------------- /Uno/NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | To add cross-platform image assets for your Uno Platform app, use the Assets folder 2 | in the shared project instead. Assets in this folder are Android-only assets. 3 | 4 | Any raw assets you want to be deployed with your application can be placed in 5 | this directory (and child directories) and given a Build Action of "AndroidAsset". 6 | 7 | These files will be deployed with you package and will be accessible using Android's 8 | AssetManager, like this: 9 | 10 | public class ReadAsset : Activity 11 | { 12 | protected override void OnCreate (Bundle bundle) 13 | { 14 | base.OnCreate (bundle); 15 | 16 | InputStream input = Assets.Open ("my_asset.txt"); 17 | } 18 | } 19 | 20 | Additionally, some Android functions will automatically load asset files: 21 | 22 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 23 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Assets/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Assets/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/MainActivity.Android.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Content.PM; 3 | using Android.OS; 4 | using Android.Views; 5 | using Android.Widget; 6 | 7 | namespace Uno 8 | { 9 | [Activity( 10 | MainLauncher = true, 11 | ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges, 12 | WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden 13 | )] 14 | public class MainActivity : Windows.UI.Xaml.ApplicationActivity 15 | { 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-ldpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-tvdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-tvdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/Android/Resources/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | UnoQuickStart 5 | 6 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/Android/Resources/values/Styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CFBundleDisplayName 6 | Uno 7 | CFBundleIdentifier 8 | com.companyname.changeme 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSMinimumSystemVersion 14 | 10.15.1 15 | UIDeviceFamily 16 | 17 | 2 18 | 19 | UILaunchStoryboardName 20 | LaunchScreen 21 | UISupportedInterfaceOrientations 22 | 23 | UIInterfaceOrientationPortrait 24 | UIInterfaceOrientationLandscapeLeft 25 | UIInterfaceOrientationLandscapeRight 26 | 27 | XSAppIconAssets 28 | Media.xcassets/AppIcon.appiconset 29 | UIAppFonts 30 | 31 | Fonts/uno-fluentui-assets.ttf 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Main.maccatalyst.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Uno 4 | { 5 | public class EntryPoint 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(App)); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon120.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon152.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon167.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon180.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon20.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon29.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon40.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon58.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon60.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon76.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon80.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Media.xcassets/AppIcons.appiconset/Icon87.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Resources/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Resources/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Resources/SplashScreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Resources/SplashScreen@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacCatalyst/Resources/SplashScreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacCatalyst/Resources/SplashScreen@3x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/unologo.imageset/unoplatform.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Assets.xcassets/unologo.imageset/unoplatform.jpg -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | Uno.macOS 7 | CFBundleIdentifier 8 | com.companyname.Uno-macOS 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1 13 | LSMinimumSystemVersion 14 | 10.11 15 | CFBundleDevelopmentRegion 16 | en 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | NSHumanReadableCopyright 24 | ${AuthorCopyright:HtmlEncode} 25 | NSPrincipalClass 26 | NSApplication 27 | XSAppIconAssets 28 | Assets.xcassets/AppIcon.appiconset 29 | ATSApplicationFontsPath 30 | Fonts/uno-fluentui-assets.ttf 31 | 32 | 33 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Main.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | 3 | namespace Uno.macOS 4 | { 5 | internal static class MainClass 6 | { 7 | static void Main(string[] args) 8 | { 9 | NSApplication.Init(); 10 | NSApplication.SharedApplication.Delegate = new App(); 11 | NSApplication.Main(args); 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/MacOS/Resources/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/MacOS/Resources/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Main.iOS.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Uno 4 | { 5 | public class EntryPoint 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(App)); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon120.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon152.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon167.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon180.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon20.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon29.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon40.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon58.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon60.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon76.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon80.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Media.xcassets/AppIcons.appiconset/Icon87.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Resources/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Resources/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Resources/SplashScreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Resources/SplashScreen@2x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Mobile/iOS/Resources/SplashScreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Mobile/iOS/Resources/SplashScreen@3x.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Shared/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Shared/Assets/SharedAssets.md: -------------------------------------------------------------------------------- 1 | See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md 2 | 3 | # Here is a cheat sheet: 4 | 5 | 1. Add the image file to the `Assets` directory of a shared project. 6 | 2. Set the build action to `Content`. 7 | 3. (Recommended) Provide an asset for various scales/dpi 8 | 9 | ## Examples 10 | 11 | ``` 12 | \Assets\Images\logo.scale-100.png 13 | \Assets\Images\logo.scale-200.png 14 | \Assets\Images\logo.scale-400.png 15 | 16 | \Assets\Images\scale-100\logo.png 17 | \Assets\Images\scale-200\logo.png 18 | \Assets\Images\scale-400\logo.png 19 | ``` 20 | 21 | ## Table of scales 22 | 23 | | Scale | UWP | iOS | Android | 24 | |-------|:-----------:|:--------:|:-------:| 25 | | `100` | scale-100 | @1x | mdpi | 26 | | `125` | scale-125 | N/A | N/A | 27 | | `150` | scale-150 | N/A | hdpi | 28 | | `200` | scale-200 | @2x | xhdpi | 29 | | `300` | scale-300 | @3x | xxhdpi | 30 | | `400` | scale-400 | N/A | xxxhdpi | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Shared/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Shared/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 17 | 18 | namespace Uno 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class MainPage : Page 24 | { 25 | public MainPage() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Shared/Uno.Shared.shproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6279c845-92f8-4333-ab99-3d213163593c 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Gtk/Assets/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Skia.Gtk/Assets/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Gtk/Program.cs: -------------------------------------------------------------------------------- 1 | using GLib; 2 | using System; 3 | using Uno.UI.Runtime.Skia; 4 | 5 | namespace Uno.Skia.Gtk 6 | { 7 | internal class Program 8 | { 9 | static void Main(string[] args) 10 | { 11 | ExceptionManager.UnhandledException += delegate (UnhandledExceptionArgs expArgs) 12 | { 13 | Console.WriteLine("GLIB UNHANDLED EXCEPTION" + expArgs.ExceptionObject.ToString()); 14 | expArgs.ExitApplication = true; 15 | }; 16 | 17 | var host = new GtkHost(() => new App(), args); 18 | 19 | host.Run(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Gtk/Uno.Skia.Gtk.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | WinExe 4 | Exe 5 | net6.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Uno.WPF.Host 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/Assets/Fonts/uno-fluentui-assets.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Skia.Wpf.Host/Assets/Fonts/uno-fluentui-assets.ttf -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Uno.WPF.Host 17 | { 18 | /// 19 | /// Interaction logic for MainWindow.xaml 20 | /// 21 | public partial class MainWindow : Window 22 | { 23 | public MainWindow() 24 | { 25 | InitializeComponent(); 26 | 27 | root.Content = new global::Uno.UI.Skia.Platform.WpfHost(Dispatcher, () => new Uno.App()); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Uno.WPF.Host.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf.Host/Uno.Skia.Wpf.Host.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | WinExe 4 | Exe 5 | net6.0-windows 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Uno.Skia.Gtk 2 | { 3 | } 4 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Skia.Wpf/Uno.Skia.Wpf.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Uno.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Uno.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2021")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] 30 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Wasm/Assets/SplashScreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Uno/Uno/Uno.Wasm/Assets/SplashScreen.png -------------------------------------------------------------------------------- /Uno/Uno/Uno.Wasm/LinkerConfig.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Wasm/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Windows.UI.Xaml; 3 | 4 | namespace Uno.Wasm 5 | { 6 | public class Program 7 | { 8 | private static App _app; 9 | 10 | static int Main(string[] args) 11 | { 12 | Windows.UI.Xaml.Application.Start(_ => _app = new App()); 13 | 14 | return 0; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Uno/Uno/Uno.Wasm/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:59611/", 7 | "sslPort": 44345 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Uno.Wasm": { 19 | "commandName": "Project" 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Uno/Uno/Uno.Wasm/WasmScripts/AppManifest.js: -------------------------------------------------------------------------------- 1 | var UnoAppManifest = { 2 | 3 | splashScreenImage: "Assets/SplashScreen.png", 4 | splashScreenColor: "#fff", 5 | displayName: "Uno" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /Xamarin.Forms/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/.DS_Store -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("FormsDesktop.Android")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("FormsDesktop.Android")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | [assembly: AssemblyVersion("1.0.0.0")] 26 | [assembly: AssemblyFileVersion("1.0.0.0")] 27 | 28 | // Add some common permissions, these can be removed if not needed 29 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 30 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 31 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/drawable/xamarin_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/drawable/xamarin_logo.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/layout/Tabbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/layout/Toolbar.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-anydpi-v26/icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-anydpi-v26/icon_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-hdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-hdpi/launcher_foreground.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-mdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-mdpi/launcher_foreground.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | #3F51B5 5 | #303F9F 6 | #FF4081 7 | 8 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/.DS_Store -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | using Foundation; 3 | using Xamarin.Forms; 4 | using Xamarin.Forms.Platform.MacOS; 5 | 6 | namespace FormsDesktop.MacOS 7 | { 8 | [Register("AppDelegate")] 9 | public class AppDelegate : FormsApplicationDelegate 10 | { 11 | NSWindow window; 12 | public AppDelegate() 13 | { 14 | var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled; 15 | 16 | var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768); 17 | window = new NSWindow(rect, style, NSBackingStore.Buffered, false); 18 | window.Title = "Xamarin.Forms on Mac!"; // choose your own Title here 19 | window.TitleVisibility = NSWindowTitleVisibility.Hidden; 20 | } 21 | 22 | public override NSWindow MainWindow 23 | { 24 | get { return window; } 25 | } 26 | 27 | public override void DidFinishLaunching(NSNotification notification) 28 | { 29 | Forms.Init(); 30 | LoadApplication(new FormsDesktop.App()); 31 | base.DidFinishLaunching(notification); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | FormsDesktop.MacOS 7 | CFBundleIdentifier 8 | com.companyname.FormsDesktop-MacOS 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1 13 | LSMinimumSystemVersion 14 | 10.14 15 | CFBundleDevelopmentRegion 16 | en 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | NSHumanReadableCopyright 24 | 25 | NSPrincipalClass 26 | NSApplication 27 | NSMainStoryboardFile 28 | Main 29 | XSAppIconAssets 30 | Assets.xcassets/AppIcon.appiconset 31 | NSUserNotificationAlertStyle 32 | alert 33 | 34 | 35 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/MacOsNotifyService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using FormsDesktop.MacOS; 3 | using FormsDesktop.Services; 4 | using Foundation; 5 | using Xamarin.Forms; 6 | 7 | [assembly: Dependency(typeof(MacOsNotifyService))] 8 | namespace FormsDesktop.MacOS 9 | { 10 | public class MacOsNotifyService : INotifyService 11 | { 12 | public void Notify(string title, string text) 13 | { 14 | // Trigger a local notification after the time has elapsed 15 | var notification = new NSUserNotification(); 16 | 17 | // Add text and sound to the notification 18 | notification.Title = title; 19 | notification.InformativeText = text; 20 | notification.SoundName = NSUserNotification.NSUserNotificationDefaultSoundName; 21 | notification.HasActionButton = true; 22 | NSUserNotificationCenter.DefaultUserNotificationCenter.DeliverNotification(notification); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/Main.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | 3 | namespace FormsDesktop.MacOS 4 | { 5 | static class MainClass 6 | { 7 | static void Main(string[] args) 8 | { 9 | NSApplication.Init(); 10 | NSApplication.SharedApplication.Delegate = new AppDelegate(); 11 | NSApplication.Main(args); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/ViewController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using AppKit; 4 | using Foundation; 5 | 6 | namespace FormsDesktop.MacOS 7 | { 8 | public partial class ViewController : NSViewController 9 | { 10 | public ViewController(IntPtr handle) : base(handle) 11 | { 12 | } 13 | 14 | public override void ViewDidLoad() 15 | { 16 | base.ViewDidLoad(); 17 | 18 | // Do any additional setup after loading the view. 19 | } 20 | 21 | public override NSObject RepresentedObject 22 | { 23 | get 24 | { 25 | return base.RepresentedObject; 26 | } 27 | set 28 | { 29 | base.RepresentedObject = value; 30 | // Update the view, if already loaded. 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/ViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio to store outlets and 4 | // actions made in the UI designer. If it is removed, they will be lost. 5 | // Manual changes to this file may not be handled correctly. 6 | // 7 | using Foundation; 8 | 9 | namespace FormsDesktop.MacOS 10 | { 11 | [Register("ViewController")] 12 | partial class ViewController 13 | { 14 | void ReleaseDesignerOutlets() 15 | { 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.MacOS/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/LargeTile.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SmallTile.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/SplashScreen.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square150x150Logo.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-16.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-256.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.altform-unplated_targetsize-48.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-16.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-256.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Square44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.backup.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/StoreLogo.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/Assets/Wide310x150Logo.scale-400.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | namespace FormsDesktop.UWP 17 | { 18 | public sealed partial class MainPage 19 | { 20 | public MainPage() 21 | { 22 | this.InitializeComponent(); 23 | 24 | LoadApplication(new FormsDesktop.App()); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("FormsDesktop.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("FormsDesktop.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/add.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/cancel.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/save.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.UWP/xamarin_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.UWP/xamarin_logo.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Xamarin.Forms.WPF 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/FormsDesktop.WPF.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | true 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.WPF/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Xamarin.Forms.WPF 2 | { 3 | /// 4 | /// Interaction logic for MainWindow.xaml 5 | /// 6 | public partial class MainWindow 7 | { 8 | public MainWindow() 9 | { 10 | InitializeComponent(); 11 | Forms.Init(); 12 | LoadApplication(new FormsDesktop.App()); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace FormsDesktop.iOS 9 | { 10 | // The UIApplicationDelegate for the application. This class is responsible for launching the 11 | // User Interface of the application, as well as listening (and optionally responding) to 12 | // application events from iOS. 13 | [Register("AppDelegate")] 14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 15 | { 16 | // 17 | // This method is invoked when the application has loaded and is ready to run. In this 18 | // method you should instantiate the window, load the UI into it and then make the window 19 | // visible. 20 | // 21 | // You have 17 seconds to return from this method, or iOS will terminate your application. 22 | // 23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 24 | { 25 | global::Xamarin.Forms.Forms.Init(); 26 | LoadApplication(new App()); 27 | 28 | return base.FinishedLaunching(app, options); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace FormsDesktop.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/Default.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_about@3x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/tab_feed@3x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo@2x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop.iOS/Resources/xamarin_logo@3x.png -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/Xamarin.Forms/FormsDesktop/.DS_Store -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/App.xaml: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | 10 | 11 | 12 | #2196F3 13 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | using Xamarin.Forms.Xaml; 4 | using FormsDesktop.Services; 5 | using FormsDesktop.Views; 6 | 7 | namespace FormsDesktop 8 | { 9 | public partial class App : Application 10 | { 11 | 12 | public App() 13 | { 14 | InitializeComponent(); 15 | 16 | DependencyService.Register(); 17 | MainPage = new MainPage(); 18 | } 19 | 20 | protected override void OnStart() 21 | { 22 | } 23 | 24 | protected override void OnSleep() 25 | { 26 | } 27 | 28 | protected override void OnResume() 29 | { 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms.Xaml; 2 | 3 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)] -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/FormsDesktop.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.0 5 | true 6 | 7 | 8 | 9 | portable 10 | true 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Models/HomeMenuItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FormsDesktop.Models 6 | { 7 | public enum MenuItemType 8 | { 9 | Browse, 10 | About 11 | } 12 | public class HomeMenuItem 13 | { 14 | public MenuItemType Id { get; set; } 15 | 16 | public string Title { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Models/Item.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FormsDesktop.Models 4 | { 5 | public class Item 6 | { 7 | public string Id { get; set; } 8 | public string Text { get; set; } 9 | public string Description { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Services/IDataStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | 5 | namespace FormsDesktop.Services 6 | { 7 | public interface IDataStore 8 | { 9 | Task AddItemAsync(T item); 10 | Task UpdateItemAsync(T item); 11 | Task DeleteItemAsync(string id); 12 | Task GetItemAsync(string id); 13 | Task> GetItemsAsync(bool forceRefresh = false); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Services/INotifyService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace FormsDesktop.Services 3 | { 4 | public interface INotifyService 5 | { 6 | void Notify(string title, string text); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/ViewModels/AboutViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using Xamarin.Essentials; 4 | using Xamarin.Forms; 5 | 6 | namespace FormsDesktop.ViewModels 7 | { 8 | public class AboutViewModel : BaseViewModel 9 | { 10 | public AboutViewModel() 11 | { 12 | Title = "About"; 13 | OpenWebCommand = new Command(async () => await Browser.OpenAsync("https://xamarin.com")); 14 | } 15 | 16 | public ICommand OpenWebCommand { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/ViewModels/ItemDetailViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using FormsDesktop.Models; 4 | 5 | namespace FormsDesktop.ViewModels 6 | { 7 | public class ItemDetailViewModel : BaseViewModel 8 | { 9 | public Item Item { get; set; } 10 | public ItemDetailViewModel(Item item = null) 11 | { 12 | Title = item?.Text; 13 | Item = item; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Views/AboutPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using Xamarin.Forms; 4 | using Xamarin.Forms.Xaml; 5 | 6 | namespace FormsDesktop.Views 7 | { 8 | // Learn more about making custom code visible in the Xamarin.Forms previewer 9 | // by visiting https://aka.ms/xamarinforms-previewer 10 | [DesignTimeVisible(false)] 11 | public partial class AboutPage : ContentPage 12 | { 13 | public AboutPage() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Views/ItemDetailPage.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Views/ItemDetailPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using Xamarin.Forms; 4 | using Xamarin.Forms.Xaml; 5 | 6 | using FormsDesktop.Models; 7 | using FormsDesktop.ViewModels; 8 | 9 | namespace FormsDesktop.Views 10 | { 11 | // Learn more about making custom code visible in the Xamarin.Forms previewer 12 | // by visiting https://aka.ms/xamarinforms-previewer 13 | [DesignTimeVisible(false)] 14 | public partial class ItemDetailPage : ContentPage 15 | { 16 | ItemDetailViewModel viewModel; 17 | 18 | public ItemDetailPage(ItemDetailViewModel viewModel) 19 | { 20 | InitializeComponent(); 21 | 22 | BindingContext = this.viewModel = viewModel; 23 | } 24 | 25 | public ItemDetailPage() 26 | { 27 | InitializeComponent(); 28 | 29 | var item = new Item 30 | { 31 | Text = "Item 1", 32 | Description = "This is an item description." 33 | }; 34 | 35 | viewModel = new ItemDetailViewModel(item); 36 | BindingContext = viewModel; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Views/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Xamarin.Forms/FormsDesktop/Views/NewItemPage.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Xamarin.Forms/readme.md: -------------------------------------------------------------------------------- 1 | # Xamarin.Forms sample 2 | 3 | This sample contains Xamarin.Forms samples for iOS, Android, MacOS and UWP. The samples will generate native applications for the different platforms. 4 | 5 | # macOS, iOS 6 | 7 | macOS and iOS require Visual Studio for Mac with the iOS/macOS workload installed. 8 | 9 | # UWP 10 | 11 | UWP requires Visual Studio for Windows with the Universal Windows Platform workload installed. 12 | 13 | # Android 14 | 15 | Android requires Visual Studio for Windows with the Xamarin workload installed or Visual Studio for Mac with the Android workload installed. -------------------------------------------------------------------------------- /docs/install-pwa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krdmllr/DotNetDesktopSamples/0f3341e06ac251a2bb76f82dfc318779abca2a55/docs/install-pwa.png -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "6.0.100-rc.1.21463.6" 4 | } 5 | } --------------------------------------------------------------------------------