Поделиться через


ResourceLoader Класс

Определение

Предоставляет упрощенный доступ к ресурсам приложения, таким как строки пользовательского интерфейса приложения.

Эквивалентный API WinUI 2 для UWP: Microsoft.Windows.ApplicationModel.Resources.ResourceLoader (для WinUI в Windows App SDK см. Windows App 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 инкапсулирует определенный Объект ResourceMap и ResourceContext, объединенные в простой API.

При получении ResourceLoader можно указать определенную карту ресурсов; Если карта ресурсов не указана, ResourceLoader предоставит доступ к поддереву "Ресурсы" main карты ресурсов приложения.

Как правило, ресурсы могут быть чувствительны к масштабу или другим характеристикам отображения. По этой причине контексты ресурсов обычно связаны с определенным представлением. Так как ResourceLoader инкапсулирует контекст ресурса, это также относится к ResourceLoader. ResourceLoader, полученный с помощью GetForCurrentView, имеет контекст ресурса, связанный с представлением, в котором он был получен. Независимое от представления средство ResourceLoader также можно получить с помощью GetForViewIndependentUse.

  • Получите коэффициент масштабирования для текущего представления с помощью класса DisplayInformation вместо нерекомендуемого класса DisplayProperties .
  • Приложения, которые задают явные значения ширины и высоты элементов, по-прежнему должны работать нормально, за исключением отображения размытых изображений.
  • Получите ресурсы, которые не связаны ни с каким представлением, получив ResourceLoader через GetForViewIndependentUse.

См. также статью Размеры экрана и точки останова.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1903 18362 GetForUIContext

Конструкторы

ResourceLoader()

Примечание

ResourceLoader() может быть изменен или недоступен для выпусков после Windows 8.1. Вместо этого используйте GetForCurrentView().

Создает новый объект ResourceLoader для поддеревь "Resources" текущего приложения main ResourceMap.

Эквивалентный API WinUI 2 для UWP: ResourceLoader() (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

ResourceLoader(String)

Примечание

ResourceLoader(String) может быть изменен или недоступен для выпусков после Windows 8.1. Вместо этого используйте GetForCurrentView(String).

Создает новый объект ResourceLoader для указанного ResourceMap.

Эквивалентный API WinUI 2 для UWP: ResourceLoader(String) (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Методы

GetDefaultPriPath(String)

Предоставляет расположение resources.pri файла для приложения.

GetForCurrentView()

Возвращает объект ResourceLoader для поддеревь Resources текущего запущенного приложения main ResourceMap. Этот ResourceLoader использует контекст по умолчанию, связанный с текущим представлением.

GetForCurrentView(String)

Возвращает объект ResourceLoader для указанного ResourceMap. Этот ResourceLoader использует контекст по умолчанию, связанный с текущим представлением.

GetForUIContext(UIContext)

Возвращает объект ResourceLoader для указанного UIContext.

GetForViewIndependentUse()

Возвращает объект ResourceLoader для поддеревь Resources текущего запущенного приложения main ResourceMap. Этот ResourceLoader использует контекст по умолчанию, не связанный ни с каким представлением.

GetForViewIndependentUse(String)

Возвращает объект ResourceLoader для указанного ResourceMap. Этот ResourceLoader использует контекст по умолчанию, не связанный ни с каким представлением.

GetString(String)

Возвращает наиболее подходящее строковое значение ресурса, заданное идентификатором ресурса, для стандартного resourceContext представления, в котором ResourceLoader был получен с помощью ResourceLoader.GetForCurrentView.

Эквивалентный API WinUI 2 для UWP: Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetString (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

GetStringForReference(Uri)

Примечание

GetStringForReference может быть изменен или недоступен для выпусков после Windows 8.1. Вместо этого используйте GetStringForUri.

Возвращает наиболее подходящее строковое значение ресурса, указанное как универсальный код ресурса (URI ) для идентификатора ресурса по умолчанию для ResourceContext текущего запущенного приложения.

GetStringForUri(Uri)

Возвращает наиболее подходящее строковое значение ресурса, заданное универсальным идентификатором ресурса (URI), для resourceContext по умолчанию для текущего запущенного приложения.

Эквивалентный API WinUI 2 для UWP: Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetStringForUri (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Применяется к

См. также раздел