ResourceManager ResourceManager ResourceManager ResourceManager Class

Definition

Provides access to application resource maps and more advanced resource functionality.

public : sealed class ResourceManager : IResourceManager, IResourceManager2
public sealed class ResourceManager : IResourceManager, IResourceManager2
Public NotInheritable Class ResourceManager Implements IResourceManager, IResourceManager2
// This class does not provide a public constructor.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Examples

This example is based on scenario 13 of the Application resources and localization sample. See the sample for the more complete solution.

// Create a ResourceContext.
var resourceContext = new Windows.ApplicationModel.Resources.Core.ResourceContext();

// Set the specific context for lookup of resources.
var qualifierValues = resourceContext.qualifierValues;
qualifierValues["language"] = "en-US";
qualifierValues["contrast"] = "standard";
qualifierValues["scale"] = "140";
qualifierValues["homeregion"] = "021"; // Northern America

// Resources actually reside within Scenario13 Resource Map.
var resourceIds = [
    '/Scenario13/languageOnly',
    '/Scenario13/scaleOnly',
    '/Scenario13/contrastOnly',
    '/Scenario13/homeregionOnly',
    '/Scenario13/multiDimensional',
];

var output = { str: "" };
resourceIds.forEach(function (resourceId) {
    renderNamedResource(resourceId, resourceContext, output);
});

function renderNamedResource(resourceId, resourceContext, output) {
    output.str += "Resource ID " + resourceId + ":\n";
    // Lookup the resource in the mainResourceMap (the one for this package).
    var namedResource = Windows.ApplicationModel.Resources.Core.ResourceManager.current.mainResourceMap.lookup(resourceId);

    // Return a ResourceCandidateVectorView of all possible resources candidates
    // resolved against the context in order of appropriateness.
    var resourceCandidates = namedResource.resolveAll(resourceContext);

    resourceCandidates.forEach(function (candidate, index) {
        renderCandidate(candidate, index, output);
    });
    output.str += "\n";
}

function renderCandidate(candidate, index, output) {
    // Get all the various qualifiers for the candidate (such as language, scale, contrast).
    candidate.qualifiers.forEach(function (qualifier) {
        output.str += "qualifierName: " + qualifier.qualifierName + "\n";
        output.str += "qualifierValue: " + qualifier.qualifierValue + "\n";
        output.str += "isDefault: ";
        output.str += (qualifier.isDefault) ? "true\n" : "false\n";
        output.str += "isMatch: ";
        output.str += (qualifier.isMatch) ? "true\n" : "false\n";
        output.str += "score: " + qualifier.score + "\n";
        output.str += "\n";
    });
}

Properties

AllResourceMaps AllResourceMaps AllResourceMaps AllResourceMaps

Gets a map of ResourceMap objects typically associated with the app packages, indexed by package name.

public : IMapView<Platform::String, ResourceMap> AllResourceMaps { get; }
public IReadOnlyDictionary<string, ResourceMap> AllResourceMaps { get; }
Public ReadOnly Property AllResourceMaps As IReadOnlyDictionary<string, ResourceMap>
var iReadOnlyDictionary = resourceManager.allResourceMaps;
Value
IMapView<Platform::String, ResourceMap> IReadOnlyDictionary<string, ResourceMap> IReadOnlyDictionary<string, ResourceMap> IReadOnlyDictionary<string, ResourceMap>

Contains all default resource maps for all packages used by the app, as well as any resource maps that have been loaded explicitly.

Current Current Current Current

Gets the ResourceManager for the currently running application.

public : static ResourceManager Current { get; }
public static ResourceManager Current { get; }
Public Static ReadOnly Property Current As ResourceManager
var resourceManager = Windows.ApplicationModel.Resources.Core.ResourceManager.current;
Value
ResourceManager ResourceManager ResourceManager ResourceManager

The application default ResourceManager, initialized with the resources for all of the packages in the package graph.

Remarks

Returns ERROR_MRM_INVALID_PRI_FILE if one of the packages contains a malformed PRI file.

DefaultContext DefaultContext DefaultContext DefaultContext

Note

DefaultContext may be altered or unavailable for releases after Windows 8.1. Instead, use ResourceContext.GetForCurrentView.

Gets the default ResourceContext for the currently running application. Unless explicitly overridden, the default ResourceContext is used to determine the most appropriate representation of any given named resource.

public : ResourceContext DefaultContext { get; }
public ResourceContext DefaultContext { get; }
Public ReadOnly Property DefaultContext As ResourceContext
var resourceContext = resourceManager.defaultContext;

MainResourceMap MainResourceMap MainResourceMap MainResourceMap

Gets the ResourceMap that is associated with the main package of the currently running application.

public : ResourceMap MainResourceMap { get; }
public ResourceMap MainResourceMap { get; }
Public ReadOnly Property MainResourceMap As ResourceMap
var resourceMap = resourceManager.mainResourceMap;

Methods

GetAllNamedResourcesForPackage(String, ResourceLayoutInfo) GetAllNamedResourcesForPackage(String, ResourceLayoutInfo) GetAllNamedResourcesForPackage(String, ResourceLayoutInfo) GetAllNamedResourcesForPackage(String, ResourceLayoutInfo)

Gets a list of all named resources for an app package.

public : IVectorView<NamedResource> GetAllNamedResourcesForPackage(Platform::String packageName, ResourceLayoutInfo resourceLayoutInfo)
public IReadOnlyList<NamedResource> GetAllNamedResourcesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)
Public Function GetAllNamedResourcesForPackage(packageName As String, resourceLayoutInfo As ResourceLayoutInfo) As IReadOnlyList<NamedResource>( Of NamedResource )
var iVectorView = resourceManager.getAllNamedResourcesForPackage(packageName, resourceLayoutInfo);
Parameters
packageName
Platform::String String String String

The name of the app package.

resourceLayoutInfo
ResourceLayoutInfo ResourceLayoutInfo ResourceLayoutInfo ResourceLayoutInfo

Specifies the resource version and the named resource count.

Returns
IVectorView<NamedResource> IReadOnlyList<NamedResource> IReadOnlyList<NamedResource> IReadOnlyList<NamedResource>

A list of NamedResource objects.

GetAllSubtreesForPackage(String, ResourceLayoutInfo) GetAllSubtreesForPackage(String, ResourceLayoutInfo) GetAllSubtreesForPackage(String, ResourceLayoutInfo) GetAllSubtreesForPackage(String, ResourceLayoutInfo)

Gets a list of all collections of resource subtrees for an app package.

public : IVectorView<ResourceMap> GetAllSubtreesForPackage(Platform::String packageName, ResourceLayoutInfo resourceLayoutInfo)
public IReadOnlyList<ResourceMap> GetAllSubtreesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)
Public Function GetAllSubtreesForPackage(packageName As String, resourceLayoutInfo As ResourceLayoutInfo) As IReadOnlyList<ResourceMap>( Of ResourceMap )
var iVectorView = resourceManager.getAllSubtreesForPackage(packageName, resourceLayoutInfo);
Parameters
packageName
Platform::String String String String

The name of the app package.

resourceLayoutInfo
ResourceLayoutInfo ResourceLayoutInfo ResourceLayoutInfo ResourceLayoutInfo

Specifies the resource version and the resource subtree count.

Returns
IVectorView<ResourceMap> IReadOnlyList<ResourceMap> IReadOnlyList<ResourceMap> IReadOnlyList<ResourceMap>

A list of resource subtrees (ResourceMap objects).

IsResourceReference(String) IsResourceReference(String) IsResourceReference(String) IsResourceReference(String)

Determines whether a supplied string matches the resource reference format (an ms-resource string URI identifier).

public : static Platform::Boolean IsResourceReference(Platform::String resourceReference)
public static bool IsResourceReference(String resourceReference)
Public Static Function IsResourceReference(resourceReference As String) As bool
var bool = Windows.ApplicationModel.Resources.Core.ResourceManager.isResourceReference(resourceReference);
Parameters
resourceReference
Platform::String String String String

The string you want to match.

Returns
Platform::Boolean bool bool bool

TRUE if the string matches.

Remarks

An example of matching an ms-resource string URI identifier format: isResourceReference('ms-resource:Hello') returns true, but isResourceReference('Hello') returns false.

LoadPriFiles(IIterable) LoadPriFiles(IIterable) LoadPriFiles(IIterable) LoadPriFiles(IIterable)

Loads one or more resource index ("PRI") files and adds their contents to the default resource manager.

public : void LoadPriFiles(IIterable<IStorageFile> files)
public void LoadPriFiles(IEnumerable<IStorageFile> files)
Public Function LoadPriFiles(files As IEnumerable<IStorageFile>) As void
resourceManager.loadPriFiles(files);
Parameters
files
IIterable<IStorageFile> IEnumerable<IStorageFile> IEnumerable<IStorageFile> IEnumerable<IStorageFile>

The files you want to add.

Remarks

The LoadPRIFiles method accepts files only from inside the app package or dependent packages. See How to load string resources.

If resource packs are used by an app, this method will always fail.

See Also

UnloadPriFiles(IIterable) UnloadPriFiles(IIterable) UnloadPriFiles(IIterable) UnloadPriFiles(IIterable)

Unloads one or more resource index ("PRI") files.

public : void UnloadPriFiles(IIterable<IStorageFile> files)
public void UnloadPriFiles(IEnumerable<IStorageFile> files)
Public Function UnloadPriFiles(files As IEnumerable<IStorageFile>) As void
resourceManager.unloadPriFiles(files);
Parameters
files
IIterable<IStorageFile> IEnumerable<IStorageFile> IEnumerable<IStorageFile> IEnumerable<IStorageFile>

The files you want unloaded.

Remarks

If resource packs are used by an app, this method will always fail.

See Also