ResourceMap class

Applies to Windows and Windows Phone

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

Syntax

Public NotInheritable Class ResourceMap
    Implements IReadOnlyDictionary(Of String, NamedResource), _
    IEnumerable(Of KeyValuePair)

Attributes

[MarshalingBehavior(Agile)]
[Version(0x06020000)]

Members

The ResourceMap class has these types of members:

Methods

The ResourceMap class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

MethodDescription
ContainsKey [C#, VB]Returns a value that indicates whether a specified key exists in the ResourceMap.
First [C++, JavaScript]Returns an iterator to enumerate the items in the map.
GetSubtree [C++, JavaScript]Returns a ResourceMap that represents a subtree of another ResourceMap, typically used to access a particular resource file within an app package.
GetValue(String) [C++, JavaScript]Returns the most appropriate candidate for a resource that is specified by a resource identifier for the default context.
GetValue(String, ResourceContext) [C++, JavaScript]Returns the most appropriate candidate for a resource that is specified by a resource identifier for the supplied context.
HasKey [C++, JavaScript]Determines whether the map can retrieve a resource with the specified resource identifier.
Lookup [C++, JavaScript]Returns the NamedResource at the specified resource identifier in the map.
Split [C++, JavaScript]Splits the map view into two views.
TryGetValue [C#, VB]Returns a value that indicates whether a specified key exists in the ResourceMap. If an item with that key exists, the item is retrieved as an out parameter.

 

Properties

The ResourceMap class has these properties.

PropertyAccess typeDescription

Count [C#, VB]

Read-onlyGets the number of elements contained in the collection.

Item [C#, VB]

Read-onlyGets or sets the element value at the specified key index.

Keys [C#, VB]

Read-onlyGets an enumerable set containing the keys of the ResourceMap.

Size [C++, JavaScript]

Read-onlyGets the number of resources in the map.

Uri

Read-onlyGets a URI that can be used to refer to this ResourceMap.

Values [C#, VB]

Read-onlyGets an enumerable set containing the values of the ResourceMap.

 

Remarks

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";
    });
}

Requirements

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

Windows Phone 8.1 [Windows Runtime apps only]

Namespace

Windows.ApplicationModel.Resources.Core
Windows::ApplicationModel::Resources::Core [C++]

Metadata

Windows.winmd

See also

Application resources and localization sample

 

 

Show:
© 2014 Microsoft. All rights reserved.