ResourceMap 类

定义

相关资源的集合,通常为特定应用包或特定包的资源文件。

public ref class ResourceMap sealed : IIterable<IKeyValuePair<Platform::String ^, NamedResource ^> ^>, IMapView<Platform::String ^, NamedResource ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ResourceMap final : IIterable<IKeyValuePair<winrt::hstring, NamedResource const&>>, IMapView<winrt::hstring, NamedResource const&>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ResourceMap : IEnumerable<KeyValuePair<string,NamedResource>>, IReadOnlyDictionary<string,NamedResource>
Public NotInheritable Class ResourceMap
Implements IEnumerable(Of KeyValuePair(Of String, NamedResource)), IReadOnlyDictionary(Of String, NamedResource)
继承
Object Platform::Object IInspectable ResourceMap
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

此示例基于 应用程序资源和本地化示例的方案 8。 有关完整解决方案,请参阅示例。

private void ShowText()
{
    ResourceContext defaultContextForCurrentView = ResourceContext.GetForCurrentView();
    ResourceMap stringResourcesResourceMap = ResourceManager.Current.MainResourceMap.GetSubtree("Resources");
    Scenario8MessageTextBlock.Text = stringResourcesResourceMap.GetValue("string1", defaultContextForCurrentView).ValueAsString;
}
void Scenario8::ShowText()
{
    ResourceContext^ defaultContextForCurrentView = ResourceContext::GetForCurrentView();
    auto resourceStringMap = ResourceManager::Current->MainResourceMap->GetSubtree("Resources");
    Scenario8MessageTextBlock->Text = resourceStringMap->GetValue("string1", defaultContextForCurrentView)->ValueAsString;
}

注解

资源标识符语法

此类的许多方法都使用资源标识符作为参数。 资源标识符被视为统一资源标识符 (URI) 片段,受统一资源标识符 (URI) 语义的约束。 例如,GetValue (“Caption%20”) 被视为 GetValue (“Caption”) 。

在资源标识符中不要使用“?”或“#”,因为它们会终止资源路径评估。 例如,“MyResource?3”被视为“MyResource”。

属性

Size

获取映射中的资源数。

Uri

获取可用于引用此 ResourceMap 的 URI。

方法

First()

返回一个迭代器,用于枚举映射中的项。

GetSubtree(String)

返回一个 ResourceMap ,它表示另一个 ResourceMap 的一部分,通常用于访问应用包中的特定资源文件。

此方法查找此资源映射以及顶级映射的子树、上级、同级和表亲映射。 它返回相对于此资源映射的给定资源映射标识符表示的资源映射。 此方法通常用于对特定资源子集(例如单个资源文件或文件目录)进行更简单的引用。

GetValue(String)

注意

GetValue (字符串) 可能会在Windows 8.1后更改或不可用。 请改用 GetValue (String、ResourceContext)

返回由默认上下文中的资源标识符指定的资源最合适的候选项。

GetValue(String, ResourceContext)

返回由所提供的上下文的资源标识符指定的资源最合适的候选项。

HasKey(String)

确定映射是否可以检索具有指定资源标识符的资源。

Lookup(String)

返回映射中指定资源标识符处的 NamedResource

Split(IMapView<String,NamedResource>, IMapView<String,NamedResource>)

将地图视图拆分为两个视图。

适用于

另请参阅