ResourceCandidate Class

代表指定的NamedResource的單一可能值、和該資源相關聯的限定詞,以及這些限定詞符合內容(已據此解析)的程度。

語法


public sealed class ResourceCandidate

屬性

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

成員

ResourceCandidate類別 具有下列類型的成員:

方法

The ResourceCandidate 類別 擁有這些方法。 使用 C#、Visual Basic 和 C++,它也會繼承方法自Object 類別.

方法描述
GetQualifierValue Returns the value of a qualifier, given its name.
GetValueAsFileAsync Asynchronously returns a StorageFile that accesses the value of this ResourceCandidate. This only works on certain types of ResourceCandidates that are files.

 

屬性

ResourceCandidate類別 擁有這些屬性。

屬性存取類型描述

IsDefault

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

IsMatch

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

IsMatchAsDefault

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

Qualifiers

唯讀Gets the qualifiers associated with this ResourceCandidate.

ValueAsString

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

 

範例

這個範例是以應用程式資源和當地語系化範例的案例 13 為基礎。如需更完整的方案,請參閱範例。


// 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";
    });
}

需求

支援的最小用戶端

Windows 8 [僅限 Windows 市集應用程式]

支援的最小伺服器

Windows Server 2012 [僅限 Windows 市集應用程式]

命名空間

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

Metadata

Windows.winmd

請參閱

應用程式資源和當地語系化範例

 

 

顯示:
© 2015 Microsoft