ResourceQualifierVectorView ResourceQualifierVectorView ResourceQualifierVectorView ResourceQualifierVectorView ResourceQualifierVectorView Class

Definition

An unchangeable view into a vector of ResourceQualifier objects.

public : sealed class ResourceQualifierVectorView : IIterable<ResourceQualifier>, IVectorView<ResourceQualifier>
struct winrt::Windows::ApplicationModel::Resources::Core::ResourceQualifierVectorView : IIterable<ResourceQualifier>, IVectorView<ResourceQualifier>
public sealed class ResourceQualifierVectorView : IEnumerable<ResourceQualifier>, IReadOnlyList<ResourceQualifier>
Public NotInheritable Class ResourceQualifierVectorView Implements IEnumerable<ResourceQualifier>, IReadOnlyList<ResourceQualifier>
// 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

Collection member lists

For JavaScript, ResourceQualifierVectorView has the members shown in the member lists. In addition, ResourceQualifierVectorView supports a length property, members of Array.prototype, and using an index to access items.

Enumerating the collection in C# or Microsoft Visual Basic

A ResourceQualifierVectorView is enumerable, so you can use language-specific syntax such as foreach in C# to enumerate the items in the collection. The compiler does the type-casting for you and you won't need to cast to IEnumerable<ResourceQualifier> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable with a ResourceQualifier constraint.

Properties

Item[Int32] Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Gets the element at the specified index in the read-only list.

Size Size Size Size Size

Gets the number of ResourceQualifier objects in the view.

Methods

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

Returns an iterator to enumerate the items in the view.

GetAt(UInt32) GetAt(UInt32) GetAt(UInt32) GetAt(UInt32) GetAt(UInt32)

Returns the ResourceQualifier at the specified index in the view.

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

Returns an enumerator that iterates through the collection.

GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[])

Returns the ResourceQualifier objects that start at the specified index in the view.

IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32)

Returns the index of a specified ResourceQualifier in the view.

See Also