Giter Club home page Giter Club logo

simpletoolkit's Introduction

SimpleToolkit

SimpleToolkit is a .NET MAUI library of helpers and simple, easily customizable controls.

The library consists of three NuGet packages:

I have split the content of this library into three NuGet packages because there may be people who want to use only the SimpleShell control, for example, and do not want to use other controls.

Caution

Long-term support is not guaranteed. Use at your own risk.

Here are some of my samples that were built using this library:

       

Marvelous .NET MAUI

       

Gadget Store App

       

Navbar Animation #1

       

Hamburger Menu App

Tip

Check out a list of all samples here.

Supported platforms

This library supports all these platforms:

  • Android
  • iOS/Mac Catalyst
  • Windows (WinUI)

SimpleToolkit.Core

SimpleToolkit.Core Documentation

The SimpleToolkit.Core package is a set of simple .NET MAUI controls and helpers.

These are all the controls this package has to offer:

  • Icon - control that allows you to display a tinted image
  • ContentButton - button that can hold whatever content you want
  • Popover - control that allows you to display custom popovers (flyouts) anchored to any control

In order to use the controls listed above, you need to call the UseSimpleToolkit() extension method in your MauiProgram.cs file:

builder.UseSimpleToolkit();

This package also contains some useful helpers. For example, there are helpers that allow you to force application content to be displayed behind the system bars (status and navigation bars) on Android and iOS.

See documentation for more information.

SimpleToolkit.SimpleShell

SimpleToolkit.SimpleShell Documentation

The SimpleToolkit.SimpleShell package provides you with a simplified implementation of .NET MAUI Shell that lets you easily create a custom navigation experience in your .NET MAUI applications. The implementation is simply called SimpleShell.

All SimpleShell is is just a set of containers for your application content with the ability to put the hosting area for pages wherever you want. This gives you the flexibility to add custom tab bars, navigation bars, flyouts, etc. to your Shell application.

Bear in mind that SimpleShell does not come with any navigation controls. SimpleShell just gives you the ability to use custom navigation controls along with the URI-based navigation and automatic navigation stack management.

Important

Before you begin using SimpleShell, I highly recommend familiarizing yourself with the original .NET MAUI Shell - especially with the URI-based navigation, which works exactly the same as in SimpleShell. The SimpleShell class inherits from the Shell class.

In order to use SimpleShell, you need to call the UseSimpleShell() extension method in your MauiProgram.cs file:

builder.UseSimpleShell();

Why not use SimpleShell and use .NET MAUI Shell instead

  • .NET MAUI Shell offers a platform-specific appearance.
  • Platform-specific navigation controls that .NET MAUI Shell provides probably have better performance than controls composed of multiple .NET MAUI views.
  • A SimpleShell-based application may not have as good accessibility in some scenarios due to the lack of platform-specific navigation controls. .NET MAUI Shell should be accessible out of the box since it uses platform-specific controls.
  • Maybe I have implemented something wrong that has a negative impact on the performance, stability, accessibility, or something like that.

See documentation for more information.

SimpleToolkit.SimpleShell.Controls

SimpleToolkit.SimpleShell.Controls Documentation

SimpleToolkit.SimpleShell.Controls is a collection of ready-to-use, navigation-related controls (not only) for SimpleShell.

The package currently supports only two controls:

  • ListPopover - popover containing a list of selectable text items
  • TabBar

All controls can be styled using different design languages. These are currently supported:

  • Material 3
  • Cupertino
  • Fluent (WinUI 3)

Caution

I am still not decided if I want to continue and how to develop the SimpleToolkit.SimpleShell.Controls package. The package API is likely to change in the future. For this reason, this package is still in preview and has poor documentation.

See documentation for more information.

simpletoolkit's People

Contributors

radekvym avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.