ResourceMap ResourceMap ResourceMap ResourceMap ResourceMap Class

Definition

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

public : sealed class ResourceMap : IResourceMap, IIterable<IKeyValuePair<Platform::String, NamedResource>>, IMapView<Platform::String, NamedResource>
struct winrt::Windows::ApplicationModel::Resources::Core::ResourceMap : IResourceMap, IIterable<IKeyValuePair<Platform::String, NamedResource>>, IMapView<Platform::String, NamedResource>
public sealed class ResourceMap : IResourceMap, IEnumerable<KeyValuePair<String, NamedResource>>, IReadOnlyDictionary<String, NamedResource>
Public NotInheritable Class ResourceMap Implements IResourceMap, IEnumerable<KeyValuePair<String, NamedResource>>, IReadOnlyDictionary<String, NamedResource>
// 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";
    });
}

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.

Properties

Item[TKey] Item[TKey] Item[TKey] Item[TKey] Item[TKey]

Gets the element that has the specified key in the read-only dictionary.

Keys Keys Keys Keys Keys

Gets an enumerable collection that contains the keys in the read-only dictionary.

Size Size Size Size Size

Gets the number of resources in the map.

Uri Uri Uri Uri Uri

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

Values Values Values Values Values

Gets an enumerable collection that contains the values in the read-only dictionary.

Methods

ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey) ContainsKey(TKey)

Determines whether the read-only dictionary contains an element that has the specified key.

First() First() First() First() First()

Returns an iterator to enumerate the items in the map.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that iterates through the collection.

GetSubtree(String) GetSubtree(String) GetSubtree(String) GetSubtree(String) GetSubtree(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.

GetValue(String) GetValue(String) GetValue(String) GetValue(String) GetValue(String)

Note

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

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

GetValue(String, ResourceContext) GetValue(String, ResourceContext) GetValue(String, ResourceContext) GetValue(String, ResourceContext) GetValue(String, ResourceContext)

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

HasKey(String) HasKey(String) HasKey(String) HasKey(String) HasKey(String)

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

Lookup(String) Lookup(String) Lookup(String) Lookup(String) Lookup(String)

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

Split(IMapView<String, NamedResource>, IMapView<String, NamedResource>) Split(IMapView<String, NamedResource>, IMapView<String, NamedResource>) Split(IMapView<String, NamedResource>, IMapView<String, NamedResource>) Split(IMapView<String, NamedResource>, IMapView<String, NamedResource>) Split(IMapView<String, NamedResource>, IMapView<String, NamedResource>)

Splits the map view into two views.

TryGetValue(TKey, out TValue) TryGetValue(TKey, out TValue) TryGetValue(TKey, out TValue) TryGetValue(TKey, out TValue) TryGetValue(TKey, out TValue)

Gets the value that is associated with the specified key.

See Also