ResourceManager ResourceManager ResourceManager ResourceManager Class

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

Syntax

Declaration

public sealed class ResourceManagerpublic sealed class ResourceManagerPublic NotInheritable Class ResourceManagerpublic sealed class ResourceManager

Remarks

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 summary

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

Gets the ResourceManager for the currently running application.

Note

DefaultContext may be altered or unavailable for releases after Windows 8.1. Instead, use 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.

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

Methods summary

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

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

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

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

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

Properties

  • AllResourceMaps
    AllResourceMaps
    AllResourceMaps
    AllResourceMaps

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

    public IMapView<string, ResourceMap> AllResourceMaps { get; }public IMapView<string, ResourceMap> AllResourceMaps { get; }Public ReadOnly Property AllResourceMaps As IMapView<string, ResourceMap>public IMapView<string, ResourceMap> AllResourceMaps { get; }

    Property Value

    • 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 ResourceManagerpublic static ResourceManager Current { get; }

    Property Value

    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 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 ResourceContextpublic ResourceContext DefaultContext { get; }

    Property Value

  • 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 ResourceMappublic ResourceMap MainResourceMap { get; }

    Property Value

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(String packageName, ResourceLayoutInfo resourceLayoutInfo)public IVectorView<NamedResource> GetAllNamedResourcesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)Public Function GetAllNamedResourcesForPackage(packageName As String, resourceLayoutInfo As ResourceLayoutInfo) As IVectorView( Of NamedResource )public IVectorView<NamedResource> GetAllNamedResourcesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)

    Parameters

    Returns

  • 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(String packageName, ResourceLayoutInfo resourceLayoutInfo)public IVectorView<ResourceMap> GetAllSubtreesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)Public Function GetAllSubtreesForPackage(packageName As String, resourceLayoutInfo As ResourceLayoutInfo) As IVectorView( Of ResourceMap )public IVectorView<ResourceMap> GetAllSubtreesForPackage(String packageName, ResourceLayoutInfo resourceLayoutInfo)

    Parameters

    Returns

  • 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 bool IsResourceReference(String resourceReference)public static bool IsResourceReference(String resourceReference)Public Static Function IsResourceReference(resourceReference As String) As boolpublic static bool IsResourceReference(String resourceReference)

    Parameters

    • resourceReference
      System.String
      System.String
      System.String
      System.String

      The string you want to match.

    Returns

    • bool
      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<IStorageFile>)
    LoadPriFiles(IIterable<IStorageFile>)
    LoadPriFiles(IIterable<IStorageFile>)
    LoadPriFiles(IIterable<IStorageFile>)

    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(IIterable<IStorageFile> files)Public Function LoadPriFiles(files As IIterable<IStorageFile>) As voidpublic void LoadPriFiles(IIterable<IStorageFile> files)

    Parameters

    • files

      The files you want to add.

    Remarks

    The LoadPriFiles(IIterable<IStorageFile>) 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.

  • UnloadPriFiles(IIterable<IStorageFile>)
    UnloadPriFiles(IIterable<IStorageFile>)
    UnloadPriFiles(IIterable<IStorageFile>)
    UnloadPriFiles(IIterable<IStorageFile>)

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

    public void UnloadPriFiles(IIterable<IStorageFile> files)public void UnloadPriFiles(IIterable<IStorageFile> files)Public Function UnloadPriFiles(files As IIterable<IStorageFile>) As voidpublic void UnloadPriFiles(IIterable<IStorageFile> files)

    Parameters

    • files

      The files you want unloaded.

    Remarks

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

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.StaticAttribute
Windows.Foundation.Metadata.ThreadingAttribute

Details

Assembly

Windows.ApplicationModel.Resources.Core.dll