Information
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

Applies to Windows and Windows Phone

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

Syntax


public ref class ResourceContext sealed 

Attributes

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

Members

The ResourceContext class has these types of members:

Constructors

The ResourceContext class has these constructors.

ConstructorDescription
ResourceContext Creates a cloned ResourceContext object.

 

Methods

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

MethodDescription
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 Applies a single qualifier value override to default contexts of all views for the current app.

 

Properties

The ResourceContext class has these properties.

PropertyAccess typeDescription

Languages

Read/writeGets or sets the language qualifier for this context.

QualifierValues

Read-onlyGets a writable, observable map of all supported qualifiers, indexed by name.

 

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

ResourceQualifier
Application resources and localization sample

 

 

Show:
© 2014 Microsoft