uid |
---|
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:
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).
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).
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.
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.
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.
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.
An Android-specific sample that shows how to start a camera capture intent, and display the result in an Image
control.
This sample application demonstrates the usage of the WebAuthenticationBroker
in Uno with an OpenID Connect endpoint.
Browse source | Follow the tutorial
An implementation of the XAML AutoSuggest
control, showing how to autofill suggestions for user input.
An implementation of the .NET Benchmark Control, a performance comparison tool.
A sample that allows the user to search for nearby Bluetooth connections and connect to a device of their choice. Uses InTheHand.BluetoothLE.
A cross-platform implementation of the UWP CameraCaptureUI
class that allows the user to capture audio, video, and photos from the device camera.
An Uno conversion of the Xamarin CardView
sample showing how to migrate a custom control.
A ChatGPT sample using OpenAI SDK with C# Markup, MVUX, and immutable records.
Demonstrates the use of SignalR in an Uno Platform application.
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.
An example of creating a custom control library and calling a control from your shared project.
Sample app to accompany "Adding Custom Sorting Logic" blog post.
A simple example using the TwoPaneView
control spanned across dual screens (such as Neo or Duo dual-screen devices for example).
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.
An example of Entity Framework Core 7 with a SQLite storage for WebAssembly, WinAppSDK, iOS, and Android.
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.
This is a WASM-only sample. It is creating native HTML elements that can be used directly in XAML.
This is an example that utilizes the LiteDB NuGet package to save data.
This example demonstrates the dynamic creation of a menu incorporating nested items as well as items with separators.
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.
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.
Implementation of a class that enables saving media files into a gallery on Android, iOS, and Mac Catalyst.
An implementation of simple, to-the-point code samples for MVUX topics.
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.
Embeds the Esri ArcGIS Maps SDK for .NET in an Uno Platform application.
Embeds the DevExpress .NET MAUI Controls in an Uno Platform application.
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.
Embeds the GrapeCity ComponentOne .NET MAUI Controls in an Uno Platform application.
Embeds the Grial UI Kit in an Uno Platform application.
Embeds the .NET MAUI Community Toolkit in an Uno Platform application.
Embeds the Syncfusion .NET MAUI Controls in an Uno Platform application.
Embeds the Telerik UI for .NET MAUI in an Uno Platform application.
Code to accompany the blog post on migrating animations from Xamarin Forms to Uno.
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.
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
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.
An example series demonstrating the use of various Navigation features.
An example of an app containing an animated lock that you can unlock.
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.
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 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 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
A sample showcasing the usage of SKCanvasElement:
An example of the Uno implementation of SkiaSharp creating a basic canvas with text.
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.
An example showing how to set the splash/launch screen in Uno.
Browse source | Follow the tutorial
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.
An example showing how to adjust the StatusBar
and CommandBar
dynamically based on the current light/dark theme.
Browse source | Follow the tutorial
An example demonstrating an approach to consuming REST web services in Uno using HttpClient.
Browse source | Follow the tutorial
Code for the Silverlight migration tutorial.
Browse source | Follow the tutorial
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.
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.
A port of Shaw Yu's Cakes Mobile App from XampleUI to Uno Platform. Used to demonstrate simple page navigation from View and ViewModel.
A port of Microsoft's Contoso Enterprise UWP app to Uno Platform, using Prism.
An example showing how to set up the Uno.Cupertino
library.
Browse source | Consult the documentation
A sample showing how to integrate smart contracts on the Ethereum blockchain with a multi-targeted Uno Platform application.
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.
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
An example showing how to set up the Uno.Material
library.
Browse source | Consult the documentation
An example showing how to set up the Uno.Toolkit.Material
library.
Browse source | Consult the documentation
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.
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
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
A combined Windows Community Toolkit sample showing the DataGrid, TreeView, and TabView controls in action.
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.
Provides examples of the usage of multi-window APIs in Uno Platform apps.
Port of the XAML Brewer WinUI3 SkiaSharp Sample application (blog post and source code).