ResourceCandidate ResourceCandidate ResourceCandidate ResourceCandidate ResourceCandidate Class


Represents a single possible value for a given NamedResource, the qualifiers associated with that resource, and how well those qualifiers match the context against which it was resolved.

public : sealed class ResourceCandidate : IResourceCandidate, IResourceCandidate2
struct winrt::Windows::ApplicationModel::Resources::Core::ResourceCandidate : IResourceCandidate, IResourceCandidate2
public sealed class ResourceCandidate : IResourceCandidate, IResourceCandidate2
Public NotInheritable Class ResourceCandidate Implements IResourceCandidate, IResourceCandidate2
// This class does not provide a public constructor.
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


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

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


IsDefault IsDefault IsDefault IsDefault IsDefault

Indicates whether this ResourceCandidate can be used as a default fallback value for any context.

public : Platform::Boolean IsDefault { get; }
bool IsDefault();
public bool IsDefault { get; }
Public ReadOnly Property IsDefault As bool
var bool = resourceCandidate.isDefault;
bool bool bool

TRUE if this candidate can be used as a default fallback value for any context, FALSE otherwise.

IsMatch IsMatch IsMatch IsMatch IsMatch

Indicates whether this ResourceCandidate matched the ResourceContext against which it was evaluated.

public : Platform::Boolean IsMatch { get; }
bool IsMatch();
public bool IsMatch { get; }
Public ReadOnly Property IsMatch As bool
var bool = resourceCandidate.isMatch;
bool bool bool

TRUE if the ResourceCandidate matched the context, FALSE otherwise.

IsMatchAsDefault IsMatchAsDefault IsMatchAsDefault IsMatchAsDefault IsMatchAsDefault

Indicates whether this ResourceCandidate matched the ResourceContext against which it was evaluated as a result of being a true match, a default fallback value, or a mixed match with default fallback (that is, a match in relation to some qualifiers but using default fallback values for other qualifiers).

public : Platform::Boolean IsMatchAsDefault { get; }
bool IsMatchAsDefault();
public bool IsMatchAsDefault { get; }
Public ReadOnly Property IsMatchAsDefault As bool
var bool = resourceCandidate.isMatchAsDefault;
bool bool bool

TRUE if this candidate is an acceptable default fallback value, FALSE otherwise.

Qualifiers Qualifiers Qualifiers Qualifiers Qualifiers

Gets the qualifiers associated with this ResourceCandidate.

public : IVectorView<ResourceQualifier> Qualifiers { get; }
IVectorView<ResourceQualifier> Qualifiers();
public IReadOnlyList<ResourceQualifier> Qualifiers { get; }
Public ReadOnly Property Qualifiers As IReadOnlyList<ResourceQualifier>
var iReadOnlyList = resourceCandidate.qualifiers;
IReadOnlyList<ResourceQualifier> IReadOnlyList<ResourceQualifier> IReadOnlyList<ResourceQualifier>

The ResourceQualifier s associated with this ResourceCandidate.

See Also

ValueAsString ValueAsString ValueAsString ValueAsString ValueAsString

Gets the value of this ResourceCandidate, expressed as a string.

public : Platform::String ValueAsString { get; }
winrt::hstring ValueAsString();
public string ValueAsString { get; }
Public ReadOnly Property ValueAsString As string
var string = resourceCandidate.valueAsString;
string string string

The string value.


GetQualifierValue(String) GetQualifierValue(String) GetQualifierValue(String) GetQualifierValue(String) GetQualifierValue(String)

Returns the value of a qualifier, given its name.

public : Platform::String GetQualifierValue(Platform::String qualifierName)
winrt::hstring GetQualifierValue(winrt::hstring qualifierName) const;
public string GetQualifierValue(String qualifierName)
Public Function GetQualifierValue(qualifierName As String) As string
var string = resourceCandidate.getQualifierValue(qualifierName);
String String String

The name of the qualifier.

string string string

The value of the qualifier.

GetValueAsFileAsync() GetValueAsFileAsync() GetValueAsFileAsync() GetValueAsFileAsync() GetValueAsFileAsync()

Asynchronously returns a StorageFile that accesses the value of this ResourceCandidate. This only works on certain types of ResourceCandidate s that are files.

public : IAsyncOperation<StorageFile> GetValueAsFileAsync()
IAsyncOperation<StorageFile> GetValueAsFileAsync() const;
public IAsyncOperation<StorageFile> GetValueAsFileAsync()
Public Function GetValueAsFileAsync() As IAsyncOperation( Of StorageFile )
Windows.ApplicationModel.Resources.Core.ResourceCandidate.getValueAsFileAsync().done( /* Your success and error handlers */ );

GetValueAsStreamAsync() GetValueAsStreamAsync() GetValueAsStreamAsync() GetValueAsStreamAsync() GetValueAsStreamAsync()

Asynchronously returns an IRandomAccessStream that accesses the value of this ResourceCandidate.

public : IAsyncOperation<IRandomAccessStream> GetValueAsStreamAsync()
IAsyncOperation<IRandomAccessStream> GetValueAsStreamAsync() const;
public IAsyncOperation<IRandomAccessStream> GetValueAsStreamAsync()
Public Function GetValueAsStreamAsync() As IAsyncOperation( Of IRandomAccessStream )
Windows.ApplicationModel.Resources.Core.ResourceCandidate.getValueAsStreamAsync().done( /* Your success and error handlers */ );

See Also