Partager via


ResourceCandidate Classe

Définition

Représente une seule valeur possible pour un NamedResource donné, les qualificateurs associés à cette ressource et la façon dont ces qualificateurs correspondent au contexte dans lequel il a été résolu.

public ref class ResourceCandidate sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ResourceCandidate final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ResourceCandidate
Public NotInheritable Class ResourceCandidate
Héritage
Object Platform::Object IInspectable ResourceCandidate
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Cet exemple est basé sur le scénario 10 de l’exemple ressources d’application et de localisation. Consultez l’exemple pour obtenir la solution complète.

private void Scenario10Button_Show_Click(object sender, RoutedEventArgs e)
{
    Button b = sender as Button;
    if (b != null)
    {
        // Use a cloned context for this scenario so that qualifier values set
        // in this scenario don't impact behavior in other scenarios that
        // use a default context for the view (crossover effects between
        // the scenarios will not be expected).
        var context = ResourceContext.GetForCurrentView().Clone();

        var selectedLanguage = Scenario10ComboBox_Language.SelectedValue;
        var selectedScale = Scenario10ComboBox_Scale.SelectedValue;
        var selectedContrast = Scenario10ComboBox_Contrast.SelectedValue;
        var selectedHomeRegion = Scenario10ComboBox_HomeRegion.SelectedValue;

        if (selectedLanguage != null)
        {
            context.QualifierValues["language"] = selectedLanguage.ToString();
        }
        if (selectedScale != null)
        {
            context.QualifierValues["scale"] = selectedScale.ToString();
        }
        if (selectedContrast != null)
        {
            context.QualifierValues["contrast"] = selectedContrast.ToString();
        }
        if (selectedHomeRegion != null)
        {
            context.QualifierValues["homeregion"] = selectedHomeRegion.ToString();
        }
        Scenario10_SearchMultipleResourceIds(context, new string[] { "LanguageOnly", "ScaleOnly", "ContrastOnly", "HomeRegionOnly", "MultiDimensional" });
    }
}

void Scenario10_SearchMultipleResourceIds(ResourceContext context, string[] resourceIds)
{
    this.Scenario10TextBlock.Text = "";
    var dimensionMap = ResourceManager.Current.MainResourceMap.GetSubtree("dimensions");

    foreach (var id in resourceIds)
    {
        NamedResource namedResource;
        if (dimensionMap.TryGetValue(id, out namedResource))
        {
            var resourceCandidates = namedResource.ResolveAll(context);
            Scenario10_ShowCandidates(id, resourceCandidates);
        }
    }
}

void Scenario10_ShowCandidates(string resourceId, IReadOnlyList<ResourceCandidate> resourceCandidates)
{
    // Print 'resourceId', 'found value', 'qualifer info', 'matching condition'
    string outText = "resourceId: dimensions\\" + resourceId + "\r\n";
    int i = 0;
    foreach (var candidate in resourceCandidates)
    {
        var value = candidate.ValueAsString;
        outText += "    Candidate " + i.ToString() + ":" + value + "\r\n";
        int j = 0;
        foreach (var qualifier in candidate.Qualifiers)
        {
            var qualifierName = qualifier.QualifierName;
            var qualifierValue = qualifier.QualifierValue;
            outText += "        Qualifer: " + qualifierName + ": " + qualifierValue + "\r\n";
            outText += "        Matching: IsMatch (" + qualifier.IsMatch.ToString() + ")  " + "IsDefault (" + qualifier.IsDefault.ToString() + ")" + "\r\n";
            j++;
        }
        i++;
    }

    this.Scenario10TextBlock.Text += outText + "\r\n";
}

Remarques

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1903 18362 Type

Propriétés

IsDefault

Indique si ce ResourceCandidate peut être utilisé comme valeur de secours par défaut pour n’importe quel contexte.

IsMatch

Indique si ce ResourceCandidate correspondait au ResourceContext sur lequel il a été évalué.

IsMatchAsDefault

Indique si ce ResourceCandidate correspondait au ResourceContext par rapport à lequel il a été évalué, car il s’agissait d’une correspondance vraie, d’une valeur de secours par défaut ou d’une correspondance mixte avec le secours par défaut (c’est-à-dire une correspondance par rapport à certains qualificateurs, mais en utilisant des valeurs de secours par défaut pour d’autres qualificateurs).

Kind

Obtient le type de ressource encapsulé dans ce ResourceCandidate.

Qualifiers

Obtient les qualificateurs associés à ce ResourceCandidate.

ValueAsString

Obtient la valeur de ce ResourceCandidate, exprimée sous forme de chaîne.

Méthodes

GetQualifierValue(String)

Retourne la valeur d’un qualificateur, en fonction de son nom.

GetValueAsFileAsync()

Retourne de manière asynchrone un StorageFile qui accède à la valeur de ce ResourceCandidate. Cela fonctionne uniquement sur certains types de ResourceCandidatequi sont des fichiers.

GetValueAsStreamAsync()

Retourne de manière asynchrone un IRandomAccessStream qui accède à la valeur de ce ResourceCandidate.

S’applique à

Voir aussi