ResourceCandidate Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen einzelnen möglichen Wert für eine bestimmte NamedResource dar, die Qualifizierer, die dieser Ressource zugeordnet sind, und wie gut diese Qualifizierer mit dem Kontext übereinstimmen, für den sie aufgelöst wurde.
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
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
Dieses Beispiel basiert auf Szenario 10 des Anwendungsressourcen- und Lokalisierungsbeispiels. Sehen Sie sich das Beispiel für die vollständige Lösung an.
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";
}
Hinweise
Versionsverlauf
Windows-Version | SDK-Version | Wertschöpfung |
---|---|---|
1903 | 18362 | Variante |
Eigenschaften
IsDefault |
Gibt an, ob dieser ResourceCandidate als Standardfallbackwert für jeden Kontext verwendet werden kann. |
IsMatch |
Gibt an, ob dieses ResourceCandidate mit dem ResourceContext übereinstimmt, mit dem er ausgewertet wurde. |
IsMatchAsDefault |
Gibt an, ob dieser ResourceCandidate mit dem ResourceContext übereinstimmt, für den es als Ergebnis einer true-Übereinstimmung, eines Standardfallbackwerts oder einer gemischten Übereinstimmung mit dem Standardfallback (d. h. eine Übereinstimmung in Bezug auf einige Qualifizierer, aber unter Verwendung von Standard-Fallbackwerten für andere Qualifizierer) ausgewertet wurde. |
Kind |
Ruft den Ressourcentyp ab, der in diesem ResourceCandidate gekapselt ist. |
Qualifiers |
Ruft die Qualifizierer ab, die diesem ResourceCandidate zugeordnet sind. |
ValueAsString |
Ruft den Wert dieses ResourceCandidate ab, der als Zeichenfolge ausgedrückt wird. |
Methoden
GetQualifierValue(String) |
Gibt den Wert eines Qualifizierers unter Angabe seines Namens zurück. |
GetValueAsFileAsync() |
Gibt asynchron eine StorageFile-Datei zurück, die auf den Wert dieses ResourceCandidate-Werts zugreift. Dies funktioniert nur für bestimmte Arten von ResourceCandidates, bei denen es sich um Dateien handelt. |
GetValueAsStreamAsync() |
Gibt asynchron einen IRandomAccessStream zurück, der auf den Wert dieses ResourceCandidate-Objekts zugreift. |