The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

ResourceContext class

Encapsulates all of the factors (ResourceQualifiers) that might affect resource selection.


public ref class ResourceContext sealed 


The ResourceContext class has these types of members:


The ResourceContext class has these constructors.

ResourceContext Creates a cloned ResourceContext object.



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

Clone Creates a clone of this ResourceContext, with identical qualifiers.
CreateMatchingContext Creates a new ResourceContext that matches a supplied set of qualifiers.
GetForCurrentView Gets a default ResourceContext associated with the current view for the currently running application.
GetForViewIndependentUse Gets a default ResourceContext not associated with any view.
OverrideToMatch Overrides the qualifier values supplied by this context to match a specified list of resolved ResourceQualifiers. Typically the resolved ResourceQualifiers are associated with a resource that was looked up earlier.
Reset Resets the overridden values for all qualifiers on the given ResourceContext instance.
Reset(IIterable(String)) Resets the overridden values for the specified qualifiers on the given ResourceContext instance.
ResetGlobalQualifierValues Removes any qualifier overrides from default contexts of all views across the app.
ResetGlobalQualifierValues(IIterable(String)) Removes qualifier overrides for the specified qualifiers from default contexts of all views across the app.
SetGlobalQualifierValue(String,String) Applies a single qualifier value override to default contexts of all views for the current app.
SetGlobalQualifierValue(String,String,ResourceQualifierPersistence) Applies a single qualifier value override to default contexts of all views for the current app, and specifies the persistence of the override.



The ResourceContext class has these properties.

PropertyAccess typeDescription



Gets or sets the language qualifier for this context.



Gets a writable, observable map of all supported qualifiers, indexed by name.



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.getForCurrentView().clone();

// 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 = [

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 (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


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



Requirements (Windows 8.x and Windows Phone 8.x)

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]


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





See also

Application resources and localization sample