ResourceLoader 类

定义

提供对应用资源(如应用 UI 字符串)的简化访问。

适用于 UWP 的等效 WinUI 2 API:Windows 应用 SDK中适用于 WinUI 的 Microsoft.Windows.ApplicationModel.Resources.ResourceLoader (,请参阅Windows 应用 SDK命名空间) 。

public ref class ResourceLoader sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.ApplicationModel.Resources.IResourceLoaderFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ResourceLoader final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.ApplicationModel.Resources.IResourceLoaderFactory, 65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ResourceLoader final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.ApplicationModel.Resources.IResourceLoaderFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ResourceLoader
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.ApplicationModel.Resources.IResourceLoaderFactory), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ResourceLoader
function ResourceLoader(name)
Public NotInheritable Class ResourceLoader
继承
Object Platform::Object IInspectable ResourceLoader
属性

Windows 要求

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

示例

使用 ResourceLoader.GetString 方法获取由“Farewell”标识的字符串资源。

var resourceLoader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView();
var text = resourceLoader.GetString("Farewell");
auto resourceLoader{ Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView() };
winrt::hstring text{ resourceLoader.GetString(L"Farewell") };
auto resourceLoader = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView();
String^ text = resourceLoader->GetString("Farewell");

注解

ResourceLoader 对象封装了特定的 ResourceMapResourceContext,并组合在一个简单的 API 中。

获取 ResourceLoader 时,可以指定特定的资源映射;如果未指定资源映射,则 ResourceLoader 将提供对应用main资源映射的“Resources”子树的访问权限。

通常,资源对缩放或其他显示特征可能很敏感。 因此,资源上下文通常与特定视图相关联。 由于 ResourceLoader 封装资源上下文,这也适用于 ResourceLoader。 使用 GetForCurrentView 获取的 ResourceLoader 具有与获取它的视图关联的资源上下文。 还可以使用 GetForViewIndependentUse 获取独立于视图的 ResourceLoader

  • 使用 DisplayInformation 类而不是已弃用的 DisplayProperties 类获取当前视图的比例系数。
  • 设置元素的显式宽度和高度的应用应该仍然正常工作,除了可能显示模糊的图像。
  • 通过 GetForViewIndependentUse 获取 ResourceLoader 来获取不与任何视图关联的资源。

另请参阅 屏幕大小和断点

版本历史记录

Windows 版本 SDK 版本 增值
1903 18362 GetForUIContext

构造函数

ResourceLoader()

注意

ResourceLoader () 可能会在Windows 8.1后更改或不可用。 请改用 GetForCurrentView ()

为当前正在运行的应用main ResourceMap 的“Resources”子树构造一个新的 ResourceLoader 对象。

Windows 应用 SDK中适用于 UWP 的等效 WinUI 2 APIResourceLoader () ( for WinUI,请参阅Windows 应用 SDK命名空间) 。

ResourceLoader(String)

注意

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

为指定的 ResourceMap 构造一个新的 ResourceLoader 对象。

适用于 UWP 的等效 WinUI 2 API:Windows 应用 SDK中 WinUI 的 ResourceLoader (字符串 ) (,请参阅Windows 应用 SDK命名空间) 。

方法

GetDefaultPriPath(String)

提供应用的文件位置 resources.pri

GetForCurrentView()

获取当前正在运行的应用的 ResourceMap main Resources 子树ResourceLoader 对象。 ResourceLoader 使用与当前视图关联的默认上下文。

GetForCurrentView(String)

获取指定 ResourceMap 的 ResourceLoader 对象。 此 ResourceLoader 使用与当前视图关联的默认上下文。

GetForUIContext(UIContext)

获取指定 UIContextResourceLoader 对象。

GetForViewIndependentUse()

获取当前正在运行的应用的 ResourceMap main Resources 子树ResourceLoader 对象。 ResourceLoader 使用不与任何视图关联的默认上下文。

GetForViewIndependentUse(String)

获取指定 ResourceMap 的 ResourceLoader 对象。 此 ResourceLoader 使用不与任何视图关联的默认上下文。

GetString(String)

对于使用 ResourceLoader.GetForCurrentView 获取 ResourceLoader 的视图的默认 ResourceContext,返回资源的最合适的字符串值,由资源标识符指定。

适用于 UWP 的等效 WinUI 2 APIWindows 应用 SDK中适用于 WinUI 的 Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetString (,请参阅Windows 应用 SDK命名空间) 。

GetStringForReference(Uri)

注意

getStringForReference 可能会在Windows 8.1后更改或不可用。 请改用 GetStringForUri

返回当前正在运行的应用的默认 ResourceContext 的最合适的资源字符串值,该值指定为资源标识符的 URI

GetStringForUri(Uri)

为当前正在运行的应用的默认 ResourceContext 返回资源的最合适的字符串值,该值由统一资源标识符 (URI) 资源标识符指定。

适用于 UWP 的等效 WinUI 2 APIWindows 应用 SDK中适用于 WinUI 的 Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetStringForUri (,请参阅 ) Windows 应用 SDK命名空间

适用于

另请参阅