WinUI 3: содержимое изображения не отображается после публикации

Я создал неупакованное приложение WinUI 3 на основе этой статьи: https://learn.microsoft.com/en-us/windows/apps/winui/winui3/create-your-first-winui3-app#unpackaged-create- a-new-project-for-unpacked-c-or-c-winui-3-desktop-app.

Проблема в том, что XAML моего окна содержит <Image Source = "ms-appx:///Assets/Logo.png" />, и этот файл Logo.png не отображается в окне после публикации, пока я не скопирую файл изображения в каталог Assets в папке публикации. Но я не хочу хранить изображения в виде отдельных файлов. Я бы хотел, чтобы они были встроены в мою сборку и к ним можно было получить доступ из XAML.

Осуществимо ли это?

Я не знаю, работает ли это для WinUI 3, но вы можете попробовать это: stackoverflow.com/questions/62032643/…

Nick 06.12.2022 12:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
78
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Основываясь на ссылке Ника, я придумал следующее решение:

class Loader: BitmapSource {
  static readonly Assembly assembly = typeof(Loader).GetTypeInfo().Assembly;
  public string Name {
    set {
      SetSource(assembly.GetManifestResourceStream(value).AsRandomAccessStream());
    }
  }
}
<Grid>
  <Grid.Resources>
    <local:Loader x:Key = "Image1" Name = "App1.Assets.Image.png" />
  </Grid.Resources>
  <Image Source = "{StaticResource Image1}" />
</Grid>

В приведенном выше коде отображается Assets\Image.png, где App1 — корневое пространство имен.

Другие вопросы по теме

Похожие вопросы

C# LINQ пересекает 2 разных списка типов и возвращает один тип
Не удается запустить тест, когда я объявляю конструктор
Почему экземпляры Excel не закрываются при открытии через взаимодействие, хотя приложения Word закрываются нормально?
Добавление задержки в Start(), только затем вызов Update()
При отображении данных из таблицы в ASP.NET Core 5 MVC в модели представления ничего не отображается, хотя таблица имеет несколько строк?
Ошибка VB.Net BC31132 при попытке вызвать событие родительского класса
Почему вы не можете получить доступ к элементу списка по индексу без предварительного использования метода Add?
Выбор в DataGridView не работает после CellPaintEvent
Будет ли SqlConnection(), объявленный перед его использованием в операторе using(), по-прежнему закрывать соединение после завершения? (С#/SQL-сервер)
Автоматически загружать вновь вставленные строки (база данных SQL Server) в интерфейсе веб-форм ASP.NET?