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
<PackageReference Include="AppDimens.Net.Perimeter" Version="3.6.1" />
<PackageVersion Include="AppDimens.Net.Perimeter" Version="3.6.1" />
<PackageReference Include="AppDimens.Net.Perimeter" />
paket add AppDimens.Net.Perimeter --version 3.6.1
#r "nuget: AppDimens.Net.Perimeter, 3.6.1"
#:package AppDimens.Net.Perimeter@3.6.1
#addin nuget:?package=AppDimens.Net.Perimeter&version=3.6.1
#tool nuget:?package=AppDimens.Net.Perimeter&version=3.6.1
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
- Initialize once for your UI framework: MAUI
AppDimensMaui.AttachWindow(window)· WPFAppDimensWpf.Initialize(this)· WinFormsAppDimensWinForms.Initialize(this)· WinUIAppDimensWinUI.Initialize(window). - 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 | Versions 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. |
-
net10.0
- AppDimens.Net (>= 3.6.1)
-
net8.0
- AppDimens.Net (>= 3.6.1)
-
net9.0
- AppDimens.Net (>= 3.6.1)
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.