ResourceCandidate Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili satu nilai yang mungkin untuk NamedResource tertentu, kualifikasi yang terkait dengan sumber daya tersebut, dan seberapa baik kualifikasi tersebut cocok dengan konteks yang diselesaikan.
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
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Contoh
Contoh ini didasarkan pada skenario 10 sumber daya Aplikasi dan sampel pelokalan. Lihat sampel untuk solusi lengkapnya.
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";
}
Keterangan
Riwayat versi
Versi Windows | Versi SDK | Nilai ditambahkan |
---|---|---|
1903 | 18362 | Jenis |
Properti
IsDefault |
Menunjukkan apakah ResourceCandidate ini dapat digunakan sebagai nilai fallback default untuk konteks apa pun. |
IsMatch |
Menunjukkan apakah ResourceCandidate ini cocok dengan ResourceContext yang dievaluasi. |
IsMatchAsDefault |
Menunjukkan apakah ResourceCandidate ini cocok dengan ResourceContext yang dievaluasi sebagai hasil dari kecocokan sejati, nilai fallback default, atau kecocokan campuran dengan fallback default (yaitu, kecocokan dalam kaitannya dengan beberapa kualifikasi tetapi menggunakan nilai fallback default untuk kualifikasi lain). |
Kind |
Mendapatkan jenis sumber daya yang dienkapsulasi dalam ResourceCandidate ini. |
Qualifiers |
Mendapatkan kualifikasi yang terkait dengan ResourceCandidate ini. |
ValueAsString |
Mendapatkan nilai ResourceCandidate ini, yang dinyatakan sebagai string. |
Metode
GetQualifierValue(String) |
Mengembalikan nilai kualifikasi, mengingat namanya. |
GetValueAsFileAsync() |
Secara asinkron mengembalikan StorageFile yang mengakses nilai ResourceCandidate ini. Ini hanya berfungsi pada jenis ResourceCandidatetertentu yang merupakan file. |
GetValueAsStreamAsync() |
Secara asinkron mengembalikan IRandomAccessStream yang mengakses nilai ResourceCandidate ini. |
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk