Skip to content

Latest commit

 

History

History
528 lines (275 loc) · 25.9 KB

samples.md

File metadata and controls

528 lines (275 loc) · 25.9 KB
uid
Uno.Samples

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).

Browse source

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).

Browse source

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.

Browse source

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.

Browse source

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.

Browse source

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.

Browse source

Android Custom Camera

An Android-specific sample that shows how to start a camera capture intent, and display the result in an Image control.

Browse source

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.

Browse source

Benchmark

An implementation of the .NET Benchmark Control, a performance comparison tool.

Browse source

BluetoothExplorer

A sample that allows the user to search for nearby Bluetooth connections and connect to a device of their choice. Uses InTheHand.BluetoothLE.

Browse source

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.

Browse source

CardView Migration

An Uno conversion of the Xamarin CardView sample showing how to migrate a custom control.

Browse source

ChatGPT

A ChatGPT sample using OpenAI SDK with C# Markup, MVUX, and immutable records.

Browse source

Chat SignalR

Demonstrates the use of SignalR in an Uno Platform application.

Browse source

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.

Browse source

Control Library

An example of creating a custom control library and calling a control from your shared project.

Browse source

Country Data

Browse source

Custom Sorting

Sample app to accompany "Adding Custom Sorting Logic" blog post.

Browse source

Dual-Screen

A simple example using the TwoPaneView control spanned across dual screens (such as Neo or Duo dual-screen devices for example).

Browse source

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.

Browse source

Entity Framework Core Demo

An example of Entity Framework Core 7 with a SQLite storage for WebAssembly, WinAppSDK, iOS, and Android.

Browse source

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.

Browse source

Food Delivery

Browse source

HtmlControls

This is a WASM-only sample. It is creating native HTML elements that can be used directly in XAML.

Browse source

LiteDB

This is an example that utilizes the LiteDB NuGet package to save data.

Browse source

Inserting Separators

This example demonstrates the dynamic creation of a menu incorporating nested items as well as items with separators.

Browse source

Localization Samples

A pair of samples related to localization:

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.

Browse source

Media Gallery

Implementation of a class that enables saving media files into a gallery on Android, iOS, and Mac Catalyst.

Browse source

MVUX Samples

An implementation of simple, to-the-point code samples for MVUX topics.

Browse source

.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.

Browse source

DevExpress .NET MAUI Controls

Embeds the DevExpress .NET MAUI Controls in an Uno Platform application.

Browse source

GLCanvasElement Samples

Samples showcasing the usage of GLCanvasElement:

  • GLCanvasElementSimpleTriangle: A sample that draws a simple triangle with GLCanvasElement.

    Browse source

  • GLCanvasElementRotatingCube: A sample that draws a continuously-rotating 3D cube.

    Browse source

GrapeCity ComponentOne .NET MAUI Controls

Embeds the GrapeCity ComponentOne .NET MAUI Controls in an Uno Platform application.

Browse source

Grial UI Kit

Embeds the Grial UI Kit in an Uno Platform application.

Browse source

.NET MAUI Community Toolkit

Embeds the .NET MAUI Community Toolkit in an Uno Platform application.

Browse source

Syncfusion .NET MAUI Controls

Embeds the Syncfusion .NET MAUI Controls in an Uno Platform application.

Browse source

Telerik UI for .NET MAUI

Embeds the Telerik UI for .NET MAUI in an Uno Platform application.

Browse source

Migrating Xamarin.Forms Animations

Code to accompany the blog post on migrating animations from Xamarin Forms to Uno.

Browse source

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.

    Browse source

  • UnoEffectSample: Showcasing how to replace Effects with either ControlTemplates or custom code accessing the native control.

    Browse source

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.

Browse source

Navigation (Uno.Extensions)

An example series demonstrating the use of various Navigation features.

Browse source

Neumorphism

An example of an app containing an animated lock that you can unlock.

Browse source

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.

Browse source

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.

Browse source

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.

Browse source

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:

  1. Quickstart sample
    This sample app was created by following the ScottPlot Uno Platform Quickstart documentation.

  2. 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.

  3. 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:

Browse source

SkiaSharp Test

An example of the Uno implementation of SkiaSharp creating a basic canvas with text.

Browse source

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.

Browse source

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.

Browse source

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.

Browse source

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.

Browse source

Uno BackgroundWorker: Background Work

Browse source

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.

Browse source

Uno Contoso

A port of Microsoft's Contoso Enterprise UWP app to Uno Platform, using Prism.

Browse source

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.

Browse source

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.

Browse source

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

Browse source

Uno Scroll Reveal

Browse source

Uno SQlite One Drive Invoice

Browse source

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.

Browse source

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.

Browse source

Windowing samples

Provides examples of the usage of multi-window APIs in Uno Platform apps.

Browse source

XAML Basics: ListView

Browse source

XamlBrewer SkiaSharp

Port of the XAML Brewer WinUI3 SkiaSharp Sample application (blog post and source code).

Browse source