Uno.Samples
The Uno.Samples repository gathers various working examples for Uno Platform, ranging from small single-feature samples to larger showcase applications.
Browse the complete list below:
Reference Samples
Counter App
Experience the simplicity and power of Uno.Extensions through the Counter App, a straightforward yet powerful demonstration of both basic and advanced features of the Uno Platform. This app provides a hands-on experience with fundamental concepts such as state management, user interaction, and real-time UI updates. This sample app was built using the four variants of the Counter workshop, combining markup language (XAML or C# Markup) and presentation framework (MVVM or MVUX).
SimpleCalc App
The SimpleCalc App is a sample application designed to perform basic arithmetic operations. App was built using the four variants of the Simple Calc workshop, combining different markup languages (XAML or C# Markup) and presentation frameworks (MVVM or MVUX).
TubePlayer App
The TubePlayer App is a sample application that allows users to search for, and stream Youtube videos. This app was created using the tools, libraries, and patterns provided by the Uno Platform, designed to facilitate the rapid development of high-quality applications. This sample app was built following the Tube Player workshop.
Commerce App
The Commerce App is a sample application that demonstrates the use of ListFeed pagination, Feedviews, and other features provided by Uno.Extensions. It illustrates how these features can be applied to create an application complete with a shopping cart, products, and more.
ToDo App
Dive into the essentials of task management with the ToDo App, a meticulously crafted sample application that highlights the power and flexibility of Uno.Extensions. By emphasizing the creation and organization of to-do lists, this app showcases practical applications of essential Uno.Extensions features, offering a hands-on experience in crafting responsive and user-friendly interfaces across multiple platforms.
Other Samples
Advanced XBind
The {x:Bind} markup extension (new for Windows 10) is an alternative to {Binding}. {x:Bind} runs in less time and less memory than {Binding} and supports better debugging.
Android Custom Camera
An Android-specific sample that shows how to start a camera capture intent, and display the result in an Image
control.
Authentication with OpenID Connect (OIDC)
This sample application demonstrates the usage of the WebAuthenticationBroker
in Uno with an OpenID Connect endpoint.
Browse source | Follow the tutorial
Auto-Suggest
An implementation of the XAML AutoSuggest
control, showing how to autofill suggestions for user input.
Benchmark
An implementation of the .NET Benchmark Control, a performance comparison tool.
BluetoothExplorer
A sample that allows the user to search for nearby Bluetooth connections and connect to a device of their choice. Uses InTheHand.BluetoothLE.
Camera Capture UI
A cross-platform implementation of the UWP CameraCaptureUI
class that allows the user to capture audio, video, and photos from the device camera.
CardView Migration
An Uno conversion of the Xamarin CardView
sample showing how to migrate a custom control.
ChatGPT
A ChatGPT sample using OpenAI SDK with C# Markup, MVUX, and immutable records.
Chat SignalR
Demonstrates the use of SignalR in an Uno Platform application.
ChatUI
A chat app featuring a UI template that's ready to connect to a service with real data. The app leverages MVUX to manage incoming data efficiently.
Control Library
An example of creating a custom control library and calling a control from your shared project.
Country Data
Custom Sorting
Sample app to accompany "Adding Custom Sorting Logic" blog post.
Dual-Screen
A simple example using the TwoPaneView
control spanned across dual screens (such as Neo or Duo dual-screen devices for example).
EmbeddedResources
An example that demonstrates the use of embedded resources and how to read them from your app.
Note that the Default namespace
property of all projects is the same in order for the embedded resource names to be the same on all platforms.
Entity Framework Core Demo
An example of Entity Framework Core 7 with a SQLite storage for WebAssembly, WinAppSDK, iOS, and Android.
FileSavePicker iOS
A working implementation of a folder-based save file picker for iOS. See the 'iOS' section in the Windows.Storage.Pickers Uno documentation for more information.
Food Delivery
HtmlControls
This is a WASM-only sample. It is creating native HTML elements that can be used directly in XAML.
LiteDB
This is an example that utilizes the LiteDB NuGet package to save data.
Inserting Separators
This example demonstrates the dynamic creation of a menu incorporating nested items as well as items with separators.
Localization Samples
A pair of samples related to localization:
Localization: A sample showcasing the basics of localization.
RuntimeCultureSwitching: An example of changing app language while it is running.
Map Control
An implementation of the UWP Maps
control with a custom slider that binds the value of the slider to the ZoomLevel
property of the control.
Media Gallery
Implementation of a class that enables saving media files into a gallery on Android, iOS, and Mac Catalyst.
MVUX Samples
An implementation of simple, to-the-point code samples for MVUX topics.
.NET MAUI Embedding
Multiple samples that demonstrate third-party control libraries embedded in Uno Platform applications using .NET MAUI Embedding. Note that these controls work only for target platforms .NET MAUI reaches – iOS, Android, MacOS, and Windows.
Esri ArcGIS Maps SDK for .NET
Embeds the Esri ArcGIS Maps SDK for .NET in an Uno Platform application.
DevExpress .NET MAUI Controls
Embeds the DevExpress .NET MAUI Controls in an Uno Platform application.
GLCanvasElement Samples
Samples showcasing the usage of GLCanvasElement:
GLCanvasElementSimpleTriangle: A sample that draws a simple triangle with GLCanvasElement.
GLCanvasElementRotatingCube: A sample that draws a continuously-rotating 3D cube.
GrapeCity ComponentOne .NET MAUI Controls
Embeds the GrapeCity ComponentOne .NET MAUI Controls in an Uno Platform application.
Grial UI Kit
Embeds the Grial UI Kit in an Uno Platform application.
.NET MAUI Community Toolkit
Embeds the .NET MAUI Community Toolkit in an Uno Platform application.
Syncfusion .NET MAUI Controls
Embeds the Syncfusion .NET MAUI Controls in an Uno Platform application.
Telerik UI for .NET MAUI
Embeds the Telerik UI for .NET MAUI in an Uno Platform application.
Migrating Xamarin.Forms Animations
Code to accompany the blog post on migrating animations from Xamarin Forms to Uno.
Migrating Xamarin.Forms Effects
Code samples to accompany the blog post on Migrating from Xamarin.Forms Effects:
XamarinFormsEffect: A reference implementation of an effect with an Android implementation.
UnoEffectSample: Showcasing how to replace Effects with either ControlTemplates or custom code accessing the native control.
Native Frame Navigation
An example showcasing how to set up the native frame navigation for iOS and Android, and frame navigation in general for Uno.
Browse source | Follow the tutorial
Native Style Switch
An example of a toggle that allows you to switch between Native UI Controls and UWP UI Controls. The sample includes a checkbox, slider, button, and toggle.
Navigation (Uno.Extensions)
An example series demonstrating the use of various Navigation features.
Neumorphism
An example of an app containing an animated lock that you can unlock.
Package Resources
An example that demonstrates the use of package assets and how to read them from your app.
Note that WebAssembly assets are downloaded on demand, as can be seen in the browser's network tab.
Pet Adopt
An example that demonstrates the use of PipsPager
with a FlipView
, in an app created with the help of the Uno Platform (Figma to C# or XAML) plugin.
Uno PongWars
Uno PongWars is a simple minigame that draws inspiration from the PongWars HTML/JavaScript sample, reimagined with the modern capabilities of Uno Platform. Set in the backdrop of the eternal conflict between day and night, good and bad. This sample showcases Material design for a visually appealing experience. It demonstrates the use of C# Markup for UI development and MVUX for state management, highlighting how Uno Platform enables building responsive games across Web (WebAssembly), Windows, Linux, Mac Catalyst, iOS, and Android from a single codebase. Explore interactive elements like a speed slider and adaptable theme colors, all running natively across platforms.
ScottPlot
ScottPlot is a free and open-source plotting library for .NET that makes it easy to interactively display large datasets. Line plots, bar charts, pie graphs, scatter plots, and more can be created with just a few lines of code.
Three sample apps are available:
Quickstart sample
This sample app was created by following the ScottPlot Uno Platform Quickstart documentation.Signal plot with 5 million points sample
This sample app was created the same way by following the ScottPlot Uno Platform Quickstart documentation.
Only the code-behind differs to display a signal plot with 5 million random points.SQLite Data Persistence and Large Dataset Visualization Sample
This sample demonstrates how to combine SQLite for database-driven data persistence with ScottPlot for visualizing large datasets.
It showcases how to handle and visualize different plot types while persisting the data in a database for long-term storage.
Browse source | Follow the quickstart tutorial
SKCanvasElementShowcase
A sample showcasing the usage of SKCanvasElement:
SkiaSharp Test
An example of the Uno implementation of SkiaSharp creating a basic canvas with text.
SkiaSharp Skottie: Lottie file player
This sample shows the use of the SkiaSharp.Skottie component, which allows the playback of lottie files.
This component provides Lottie support for all available Uno Platform targets.
Splash Screen Sample
An example showing how to set the splash/launch screen in Uno.
Browse source | Follow the tutorial
SQLite
This is a simple standalone app demonstrating the use of SQLite in an Uno application, including WebAssembly. It uses Erik Sink's SQLitePCLRaw, and Frank Krueger's sqlite-net libraries.
StatusBar Theme Color
An example showing how to adjust the StatusBar
and CommandBar
dynamically based on the current light/dark theme.
Browse source | Follow the tutorial
The Cat API Client
An example demonstrating an approach to consuming REST web services in Uno using HttpClient.
Browse source | Follow the tutorial
Time Entry
Code for the Silverlight migration tutorial.
Browse source | Follow the tutorial
Toy Car
A proof of concept of a car animation using the TwoPaneView
control spanned across dual screens (such as Neo or Duo dual-screen devices for example).
Inspiration from Justin Liu's demo app.
Travel UI
A sample travel app that shows how a user could 1) search for locations, 2) favorite locations, and 3) view their profile as well as others' profiles. For the layout, showcases many ListViews coupled with Grids.
Uno BackgroundWorker: Background Work
Uno Cakes Mobile
A port of Shaw Yu's Cakes Mobile App from XampleUI to Uno Platform. Used to demonstrate simple page navigation from View and ViewModel.
Uno Contoso
A port of Microsoft's Contoso Enterprise UWP app to Uno Platform, using Prism.
Uno Cupertino Theme
An example showing how to set up the Uno.Cupertino
library.
Browse source | Consult the documentation
Uno Ethereum+Blockchain
A sample showing how to integrate smart contracts on the Ethereum blockchain with a multi-targeted Uno Platform application.
Uno GoodReads
A sample showing how to make an app containing several pages in a TabView, as well as fake data generation to populate those pages. The blog post series for this app includes parts on creating the home page, creating the author page, creating the books page, and code generation with Figma.
Uno Islands
This sample shows how you can integrate Uno Platform XAML controls into existing WPF applications using Uno Islands. This feature allows you to enhance WPF apps with Uno Platform features by hosting Uno Platform XAML files in a Shared project and adding an Uno Island using the UnoXamlHost control.
Browse source | Follow the tutorial
Uno Material Theme
An example showing how to set up the Uno.Material
library.
Browse source | Consult the documentation
Uno Onnx
Uno Scroll Reveal
Uno SQlite One Drive Invoice
Uno Toolkit Material
An example showing how to set up the Uno.Toolkit.Material
library.
Browse source | Consult the documentation
Windows Community Toolkit
The Windows Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer patterns when building experiences for Windows.
Important
Here is the Migration Guide from v7 to v8 for Windows Community Toolkit for additional information on what changed lately between these versions.
For some controls (DataGrid
, Carousel
, ect...) you will need to use version 7.x for them as they are no longer available in the latest 8.x version of Windows Community Toolkit. The complete list of changes is available in the migration guide.
For additional information, here are the releases notes for Windows Community Toolkit:
Depending on the version of the Windows Community Toolkit you want to use, the samples below provide examples of implementation.
For WCT version 8.x
This sample showcases the SettingsCard
control, that can be used to display settings in your experience. It uses the default styling found in Windows 11 and is easy to use, meets all accessibility standards and will make your settings page look great!
Browse source | Follow the tutorial
For WCT version 7.x
This sample showcases the DataGrid
control, a dynamic grid view ported from the Windows Community Toolkit that allows for x:Bind.
Browse source | Follow the tutorial
WCT DataGrid, TreeView, TabView
A combined Windows Community Toolkit sample showing the DataGrid, TreeView, and TabView controls in action.
WebRTC
Demo of the usage of WebRTC in Uno WebAssembly. This sample establishes a direct WebRTC connection between 2 browsers and uses it to send messages between peers.
Windowing samples
Provides examples of the usage of multi-window APIs in Uno Platform apps.
XAML Basics: ListView
XamlBrewer SkiaSharp
Port of the XAML Brewer WinUI3 SkiaSharp Sample application (blog post and source code).