AppDimens.Net.Perimeter 3.6.1

dotnet add package AppDimens.Net.Perimeter --version 3.6.1
                    
NuGet\Install-Package AppDimens.Net.Perimeter -Version 3.6.1
                    
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="AppDimens.Net.Perimeter" Version="3.6.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AppDimens.Net.Perimeter" Version="3.6.1" />
                    
Directory.Packages.props
<PackageReference Include="AppDimens.Net.Perimeter" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AppDimens.Net.Perimeter --version 3.6.1
                    
#r "nuget: AppDimens.Net.Perimeter, 3.6.1"
                    
#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.
#:package AppDimens.Net.Perimeter@3.6.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AppDimens.Net.Perimeter&version=3.6.1
                    
Install as a Cake Addin
#tool nuget:?package=AppDimens.Net.Perimeter&version=3.6.1
                    
Install as a Cake Tool

AppDimens.Net.Perimeter

Perimeter scaling — balances width and height in a single number.

Part of AppDimens for .NET (C# port of appdimens-kmp) · requires AppDimens.Net (installed automatically). Works with .NET MAUI, WPF, Windows Forms, WinUI 3 and plain .NET (net8.0 / net9.0 / net10.0).

📖 Complete guide: AppDimens.Net.Perimeter documentation · API reference: API.md

What it does

The Perimeter strategy derives the scale from the sum of both screen axes, balancing width and height contributions. It gives stable results for edge-anchored UI: gutters, rails, borders, safe areas. All axes give the same result.

16 with this strategy Phone 360×800 Tablet 800×1280 Desktop 1280×800
16.PRSdp() 22.3 40 40
16.PRHdp() 22.3 40 40
16.PRWdp() 22.3 40 40
16.Sdp() (core Scaled) 19.2 42.7 42.7

Install

dotnet add package AppDimens.Net.Perimeter

Use

  1. Initialize once for your UI framework: MAUI AppDimensMaui.AttachWindow(window) · WPF AppDimensWpf.Initialize(this) · WinForms AppDimensWinForms.Initialize(this) · WinUI AppDimensWinUI.Initialize(window).
  2. Call the extensions:
using AppDimens.Net.Code.Perimeter;

float padding = 16.PRSdp();    // smaller side of the window
float header  = 56.PRHdp();    // height
float sidebar = 200.PRWdp();   // width
float tall    = 16.PRSdpa();   // + aspect-ratio correction
float split   = 16.PRSdpi();   // ignores split-screen shrinking

With an explicit context: 16.PRSdp(ctx), 16.PRSdpPx(ctx), DimenPerimeter.PRSdp(ctx, 16), 24.ToPerimeterDp(ctx, qualifier: DpQualifier.Width).

Português

dotnet add package AppDimens.Net.Perimeter → inicialize a janela uma vez → using AppDimens.Net.Code.Perimeter; → 16.PRSdp(), 56.PRHdp(), 200.PRWdp(). Guia completo: https://github.com/bodenberg/appdimens-net-binding/blob/main/docs/AppDimens.Net.Perimeter/README.md


Apache-2.0 — © Jean Bodenberg · Repository

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AppDimens.Net.Perimeter:

Package Downloads
AppDimens.Net.Sdk

AppDimens .NET meta-package ("BOM"): pulls the principal library plus every strategy module with a single reference.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.6.1 94 10/12/2026
3.6.0 150 8/23/2026