次の方法で共有


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;
}

注釈

リソース識別子の構文

このクラスの多くのメソッドは、リソース識別子をパラメーターとして使用します。 リソース識別子は、Uniform Resource Identifier (URI) セマンティクスに従って、Uniform Resource Identifier (URI) フラグメントとして扱われます。 たとえば、GetValue("Caption%20") は GetValue("Caption ") として扱われます。

リソース識別子で "?" や "#" を使うとリソース パスの評価がそこで中断されるので、使わないでください。 たとえば、"MyResource?3" は "MyResource" として扱われます。

プロパティ

Size

マップ内のリソースの数を取得します。

Uri

この ResourceMap を参照するために使用できる URI を取得します。

メソッド

First()

マップ内の項目を列挙する反復子を返します。

GetSubtree(String)

別の ResourceMap の一部を表す ResourceMap を返します。通常は、アプリ パッケージ内の特定のリソース ファイルにアクセスするために使用されます。

このメソッドは、サブツリー、先祖、兄弟、従兄弟のマップを、このリソース マップとトップレベル マップに検索します。 このリソース マップを基準にして、指定されたリソース マップ識別子で表されるリソース マップを返します。 通常、このメソッドは、単一のリソース ファイルやファイルのディレクトリなど、リソースの特定のサブセットへの簡単な参照を行うために使用されます。

GetValue(String)

注意

getValue(String) は、Windows 8.1後にリリースで変更されたり、使用できなくなったりする場合があります。 代わりに、 GetValue(String, ResourceContext) を使用します

既定のコンテキスト内でリソース識別子によって指定されたリソースの最も適切な候補を返します。

GetValue(String, ResourceContext)

指定されたコンテキストのリソース識別子によって指定されたリソースの最も適切な候補を返します。

HasKey(String)

指定したリソース識別子を持つリソースをマップで取得できるかどうかを判断します。

Lookup(String)

マップ内の指定したリソース識別子で NamedResource を返します。

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

マップ ビューを 2 つのビューに分割します。

適用対象

こちらもご覧ください