Resource​Map Resource​Map Resource​Map Resource​Map 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, IMapViewpublic sealed class ResourceMap : IResourceMap, IEnumerable, IReadOnlyDictionaryPublic NotInheritable Class ResourceMap Implements IResourceMap, IEnumerable, IReadOnlyDictionary// You can use this class in JavaScript.
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]

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

This member is not implemented in C++TValue this[TKey key] { get; }ReadOnly Property Item(key As TKey) As TValueTValue this[TKey key] { get; }
Parameters
key
TKey TKey TKey TKey

The key to locate.

Value
TValue TValue TValue TValue

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

Exceptions

key is null.

The property is retrieved and key is not found.

Keys Keys Keys Keys

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

This member is not implemented in C++IEnumerable<TKey> Keys { get; }ReadOnly Property Keys As IEnumerable(Of TKey)IEnumerable<TKey> Keys { get; }
Value

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

Size Size Size Size

Gets the number of resources in the map.

public : unsigned short Size { get; }This member is not implemented in C#This member is not implemented in VB.Net// You can use this property in JavaScript.
Value
unsigned short 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// You can use this property in JavaScript.
Value
Uri Uri Uri Uri

The URI that refers to this ResourceMap.

Values Values Values Values

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

This member is not implemented in C++IEnumerable<TValue> Values { get; }ReadOnly Property Values As IEnumerable(Of TValue)IEnumerable<TValue> Values { get; }
Value

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

Methods

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

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

This member is not implemented in C++bool ContainsKey(TKey key)Function ContainsKey(key As TKey) As Booleanbool ContainsKey(TKey key)
Parameters
key
TKey TKey TKey TKey

The key to locate.

Returns

true if the read-only dictionary contains an element that has the specified key; otherwise, false.

Exceptions

key is null.

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

Returns an iterator to enumerate the items in the map.

public : IIterator<IKeyValuePair<PlatForm::String, NamedResource>> First()This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.
Returns
IIterator<IKeyValuePair<PlatForm::String, NamedResource>> IIterator<KeyValuePair<string, NamedResource>> IIterator<KeyValuePair<string, NamedResource>> IIterator<KeyValuePair<string, NamedResource>>

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.

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

Returns an enumerator that iterates through the collection.

This member is not implemented in C++IEnumerator<T> GetEnumerator()Function GetEnumerator As IEnumerator(Of T)IEnumerator<T> GetEnumerator()
Returns

An enumerator that can be used to iterate through the collection.

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.

public : ResourceMap GetSubtree(PlatForm::String reference)public ResourceMap GetSubtree(String reference)Public Function GetSubtree(reference As String) As ResourceMap// You can use this method in JavaScript.
Parameters
reference
PlatForm::String String String String

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

Returns

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.

public : ResourceCandidate GetValue(PlatForm::String resource)public ResourceCandidate GetValue(String resource)Public Function GetValue(resource As String) As ResourceCandidate// You can use this method in JavaScript.
Parameters
resource
PlatForm::String String String String

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

Returns
See Also

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.

public : ResourceCandidate GetValue(PlatForm::String resource, ResourceContext context)public ResourceCandidate GetValue(String resource, ResourceContext context)Public Function GetValue(resource As String, context As ResourceContext) As ResourceCandidate// You can use this method in JavaScript.
Parameters
resource
PlatForm::String String String String

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

context
ResourceContext ResourceContext ResourceContext ResourceContext

The context for which to select the most appropriate candidate.

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 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 should always be called with a ResourceContext object obtained from the view in which the resource will be used. Call ResourceContext.GetForCurrentView to retrieve the appropriate ResourceContext.

See Also

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

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

public : PlatForm::Boolean HasKey(PlatForm::String key)This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.
Parameters
key
PlatForm::String String String String

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

Returns
PlatForm::Boolean bool bool bool

TRUE if the key is found, otherwise FALSE.

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

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

public : NamedResource Lookup(PlatForm::String key)This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.
Parameters
key
PlatForm::String String String String

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

Returns

The value, if an item with the specified key exists. Use the HasKey method to determine whether the key exists.

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.

public : void Split(IMapView<PlatForm::String, NamedResource> first, IMapView<PlatForm::String, NamedResource> second)This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.
Parameters
first
IMapView<PlatForm::String, NamedResource> IReadOnlyDictionary<String, NamedResource> IReadOnlyDictionary<String, NamedResource> IReadOnlyDictionary<String, NamedResource>

One half of the original map.

second
IMapView<PlatForm::String, NamedResource> IReadOnlyDictionary<String, NamedResource> IReadOnlyDictionary<String, NamedResource> IReadOnlyDictionary<String, NamedResource>

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.

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.

This member is not implemented in C++bool TryGetValue(TKey key, out TValue value)Function TryGetValue(key As TKey, ByRef value As TValue) As Booleanbool TryGetValue(TKey key, out TValue value)
Parameters
key
TKey TKey TKey TKey

The key to locate.

value
TValue TValue TValue TValue

When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.

Returns

true if the object that implements the System.Collections.Generic.IReadOnlyDictionary`2 interface contains an element that has the specified key; otherwise, false.

Exceptions

key is null.

See Also