ResourceMap ResourceMap ResourceMap ResourceMap Class

A collection of related resources, typically either for a particular app package, or a resource file for a particular package.

Syntax

Declaration

public sealed class ResourceMappublic sealed class ResourceMapPublic NotInheritable Class ResourceMap

Remarks

Resource identifier syntax

Many methods of this class use resource identifiers as parameters. The resource identifier is treated as a Uniform Resource Identifier (URI) fragment, subject to Uniform Resource Identifier (URI) semantics. For example, GetValue("Caption%20") is treated as GetValue("Caption ").

Do not use "?" or "#" in resource identifiers, because they terminate the resource path evaluation. For example, "MyResource?3" is treated as "MyResource".

Collection member lists

For JavaScript, ResourceMap supports using an index to access items.

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 the number of resources in the map.

Gets a URI that can be used to refer to this ResourceMap.

Methods summary

Returns an iterator to enumerate the items in the map.

Returns a ResourceMap that represents a part of another ResourceMap, typically used to access a particular resource file within an app package.

This method finds subtree, ancestor, sibling and cousin maps to this resource map, as well as top-level maps. It returns the resource map represented by a given resource map identifier, relative to this resource map. This method is typically used to make simpler references to a particular subset of resources, such as a single resource file, or a directory of files.

Note

GetValue(System.String) may be altered or unavailable for releases after Windows 8.1. Instead, use GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext).

Returns the most appropriate candidate for a resource that is specified by a resource identifier within the default context.

Returns the most appropriate candidate for a resource that is specified by a resource identifier for the supplied context.

Determines whether the map can retrieve a resource with the specified resource identifier.

Returns the NamedResource at the specified resource identifier in the map.

Splits the map view into two views.

Properties

  • Size
    Size
    Size
    Size

    Gets the number of resources in the map.

    public uint Size { get; }public uint Size { get; }Public ReadOnly Property Size As uint

    Property Value

    • uint
      uint
      uint
      uint

      The number of resources in the map.

  • Uri
    Uri
    Uri
    Uri

    Gets a URI that can be used to refer to this ResourceMap.

    public Uri Uri { get; }public Uri Uri { get; }Public ReadOnly Property Uri As Uri

    Property Value

Methods

  • First()
    First()
    First()
    First()

    Returns an iterator to enumerate the items in the map.

    public IIterator<NamedResource>> First()public IIterator<NamedResource>> First()Public Function First() As IIterator( Of NamedResource )

    Returns

    • The iterator. The current position of the iterator is index 0, or the end of the set if the map is empty.

      • The set is all NamedResource s contained within this map and all of its child maps.
      • The key is a string representing the minimally qualified resource identifier, relative to this resource map.
      • The value is the NamedResource corresponding to the key.
  • GetSubtree(System.String)
    GetSubtree(System.String)
    GetSubtree(System.String)
    GetSubtree(System.String)

    Returns a ResourceMap that represents a part of another ResourceMap, typically used to access a particular resource file within an app package.

    This method finds subtree, ancestor, sibling and cousin maps to this resource map, as well as top-level maps. It returns the resource map represented by a given resource map identifier, relative to this resource map. This method is typically used to make simpler references to a particular subset of resources, such as a single resource file, or a directory of files.

    public ResourceMap GetSubtree(System.String reference)public ResourceMap GetSubtree(System.String reference)Public Function GetSubtree(reference As System.String) As ResourceMap

    Parameters

    • reference
      System.String
      System.String
      System.String
      System.String

      A resource map identifier that identifies the root of the new subtree. For details, see the remarks for ResourceMap class.

    Returns

  • GetValue(System.String)
    GetValue(System.String)
    GetValue(System.String)
    GetValue(System.String)
    Note

    GetValue(System.String) may be altered or unavailable for releases after Windows 8.1. Instead, use GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext).

    Returns the most appropriate candidate for a resource that is specified by a resource identifier within the default context.

    public ResourceCandidate GetValue(System.String resource)public ResourceCandidate GetValue(System.String resource)Public Function GetValue(resource As System.String) As ResourceCandidate

    Parameters

    • resource
      System.String
      System.String
      System.String
      System.String

      A resource identifier specified as a name or reference. For details, see the remarks for ResourceMap class.

    Returns

  • GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext)
    GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext)
    GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext)
    GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext)

    Returns the most appropriate candidate for a resource that is specified by a resource identifier for the supplied context.

    public ResourceCandidate GetValue(System.String resource,Windows.ApplicationModel.Resources.Core.ResourceContext context)public ResourceCandidate GetValue(System.String resource,Windows.ApplicationModel.Resources.Core.ResourceContext context)Public Function GetValue(resource As System.String,context As Windows.ApplicationModel.Resources.Core.ResourceContext) As ResourceCandidate

    Parameters

    Returns

    Remarks

    Some resources are loaded according to the scale of the view where they will be displayed, and different views within an app might be displayed on different devices with different scales. Scale is a per-view characteristic.

    Since the GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext) method selects the best candidate for the specified resource in relation to a runtime context, and since the scale qualifier of a ResourceContext depends on the associated view, GetValue(System.String,Windows.ApplicationModel.Resources.Core.ResourceContext) should always be called with a ResourceContext object obtained from the view in which the resource will be used. Call GetForCurrentView() to retrieve the appropriate ResourceContext.

  • HasKey(System.String)
    HasKey(System.String)
    HasKey(System.String)
    HasKey(System.String)

    Determines whether the map can retrieve a resource with the specified resource identifier.

    public bool HasKey(System.String key)public bool HasKey(System.String key)Public Function HasKey(key As System.String) As bool

    Parameters

    • key
      System.String
      System.String
      System.String
      System.String

      The resource identifier to locate in the map. For syntax details, see the remarks for ResourceMap class.

    Returns

    • bool
      bool
      bool
      bool

      TRUE if the key is found, otherwise FALSE.

  • Lookup(System.String)
    Lookup(System.String)
    Lookup(System.String)
    Lookup(System.String)

    Returns the NamedResource at the specified resource identifier in the map.

    public NamedResource Lookup(System.String key)public NamedResource Lookup(System.String key)Public Function Lookup(key As System.String) As NamedResource

    Parameters

    • key
      System.String
      System.String
      System.String
      System.String

      The resource identifier to use to locate the resource in the map. For syntax details, see the remarks for ResourceMap class.

    Returns

  • Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource},Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource})
    Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource},Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource})
    Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource},Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource})
    Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource},Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource})

    Splits the map view into two views.

    public void Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource} first,Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource} second)public void Split(Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource} first,Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource} second)Public Function Split(first As Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource},second As Windows.Foundation.Collections.IMapView{System.String, Windows.ApplicationModel.Resources.Core.NamedResource}) As void

    Parameters

    • first

      One half of the original map.

    • second

      The second half of the original map.

    Remarks

    The two views that result from the split operation might not contain the same number of items. The two views do not overlap.

    If a view can't be split, then both the first and second parameter are NULL.

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

Details

Assembly

Windows.ApplicationModel.Resources.Core.dll