ResourceCandidate Class

表示给定 NamedResource 的单个可能值、与该资源关联的限定符以及这些限定符与解析的上下文的匹配程度。

语法


var resourceCandidate = resourceMap.getValue(string, resourceContext);
var resourceCandidate = namedResource.resolve(resourceContext);
var resourceCandidate = resourceCandidateVectorView.getAt(uInt32);

特性

[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++]

元数据

Windows.winmd

另请参见

应用程序资源和本地化示例

 

 

显示:
© 2014 Microsoft