Map real application hierarchies

Fallback & Configuration

Keep modular and inherited view models resolvable without giving up compile-time safety.

Explore source
Parent systemStaticViewLocator
StatusMaintained
Modules1
RepositoryStaticViewLocator/StaticViewLocator.props

Exact types, generic definitions, base classes, and interfaces participate in a deterministic fallback order controlled by compiler-visible MSBuild properties.

  1. 01

    Exact, generic, base, and interface lookup

  2. 02

    Referenced-assembly opt-in

  3. 03

    Custom namespace and type transforms

  4. 04

    Additional view base types and accessibility rules

From intent
to working system.

01

Configure

MSBuild exports conventions and assembly scope to the generator.

02

Index

Factories are grouped by exact and generalized type identity.

03

Fallback

Runtime lookup follows exact, generic, base, then reverse-interface order.

04

Explain

Unresolved candidates remain available for useful missing-view output.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package StaticViewLocator
02 · Use · xml
MainWindow.axaml
<PropertyGroup>
<StaticViewLocatorViewModelNamespacePrefixes>MyApp.ViewModels;MyApp.Modules</StaticViewLocatorViewModelNamespacePrefixes>
<StaticViewLocatorIncludeReferencedAssemblies>true</StaticViewLocatorIncludeReferencedAssemblies>
<StaticViewLocatorTypeNameReplacementRules>ViewModel=View;Vm=Page</StaticViewLocatorTypeNameReplacementRules>
</PropertyGroup>

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

StaticViewLocator

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…