DSoft.Maui.Controls 2.0.2410.281-prerelease

This is a prerelease version of DSoft.Maui.Controls.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DSoft.Maui.Controls --version 2.0.2410.281-prerelease                
NuGet\Install-Package DSoft.Maui.Controls -Version 2.0.2410.281-prerelease                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DSoft.Maui.Controls" Version="2.0.2410.281-prerelease" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DSoft.Maui.Controls --version 2.0.2410.281-prerelease                
#r "nuget: DSoft.Maui.Controls, 2.0.2410.281-prerelease"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DSoft.Maui.Controls as a Cake Addin
#addin nuget:?package=DSoft.Maui.Controls&version=2.0.2410.281-prerelease&prerelease

// Install DSoft.Maui.Controls as a Cake Tool
#tool nuget:?package=DSoft.Maui.Controls&version=2.0.2410.281-prerelease&prerelease                

DSoft.Maui.Controls

Controls and Views for .NET MAUI

Features:

  • ColorPickView
  • ColorWheelView
  • GradientFrame
  • BubbleView
  • SimpleRadialGuageView
  • RingChartView
  • SimpleDonutGuageView
  • SingleRingChartView

This packages also just contains PanPinchContainer based on PanPinchContainer by CodingOctocat

Both views are 100% MAUI and do not rely on platform implementations.

  • PanPinchContainer
    • Zoom in and out and pan around an image
This library has been tested on iOS and Android, but should also work on other platforms

NuGet

Name Info
DSoft.Maui.Controls NuGet

Setup

Add the package from Nuget, either from NuGet Package Manager or command line

    dotnet add package DSoft.Maui.Controls

DSoft.Maui.Controls is a MAUI library so requires no dependency injection calls to initialise. You can jump straight in.

DSoft.Maui.Controls

Usage

You will need to add a namespace reference to your xaml file

  xmlns:mauic="http://dsoft.maui/schemas/controls"  

PanPinchContainer (from Author)

I recently developed a MAUI app and needed a control that would allow the user to view an Image, like an Android/iOS photo album, I tried Bertuzzi.MAUI.PinchZoomImage, but it had some UX issues, then I tried reading the documentation .NET MAUI Docs/Recognize a pangesture , .NET MAUI Docs/Recognize a pinch gesture, After a few days of lots of attempts, I finally implemented the MauiPanPinchContainer!

Honestly, the code is all mathematical calculations, and I don't fully understand it, so if I could, I'd like to see in the code Contnet.Anchor to stay at the default value of 0.5 (I'm not sure if 0.5 is better), but I'm limited in my ability/time to do that for now.

Usage

There are no plans to release a NuGet version for the time being, as PanPinchContainer is still very simple in its functionality, with hard-coded parameters, lack of flexibility, and no customizable dependency properties

<mauic:PanPinchContainer>
    <Image Source="dotnet_bot.png" />
</mauic:PanPinchContainer> 

Features

  • 1x ~ 10x Scaling: Supports scaling from 1x to 10x.
  • 0.5x Temporarily Scaling: Supports pinch and temporarily scale down the image below 1x. Upon release, the image restores to 1x.

Supported

  • Boundary Constraints: Limits scaling and panning within image boundaries.
  • Double Tap to Zoom: Double tap to zoom in (2x) or zoom out (1x).
  • Scaling Based on Pinch Position: Scale based on the position of the pinch gesture.
  • Panning and Zooming Animation: Smooth panning and zooming animations.

Not Supported

  • Rotation
  • Inertial panning
  • Slightly more than 10x temporarily scaling
Product Compatible and additional computed target framework versions.
.NET net8.0-android34.0 is compatible.  net8.0-ios18.0 is compatible.  net8.0-maccatalyst18.0 is compatible.  net8.0-windows10.0.19041 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.2411.51 66 11/5/2024
2.0.2411.31 73 11/3/2024
2.0.2410.282-prerelease 79 10/28/2024
2.0.2410.281-prerelease 56 10/28/2024
2.0.2410.263-prerelease 64 10/26/2024