Подтвердить что ты не робот

WPF - Image 'не является частью проекта или его действие сборки не установлено в Resource'

У меня есть проект, который требует изображения в окне. Это статическое изображение, и я добавил его через "Добавить > Существующий элемент". Он существует в корне проекта.

Я ссылаюсь на изображение на тестовой странице, например:

<Page x:Class="Critter.Pages.Test"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="Test">
      <Image Source="bug.png"/>
</Page>

Проблема в том, что я получаю сообщение о том, что он не может быть найден или это действие сборки не является ресурсом, но оно существует и оно создает ресурс действия IS. Если я создаю новое приложение и просто бросаю его в окно, тогда он отлично работает.

Любая помощь будет большой.

4b9b3361

Ответ 1

Попробуйте выполнить полную перестройку или удалите файлы сборки, а затем создайте файл.

Visual Studio не всегда подбирает изменения в ресурсах, и это может быть болью, чтобы перекомпилировать ее.

Также попробуйте использовать полный URI, поскольку это помогло мне, когда у меня была такая же проблема. Что-то вроде

pack://application:,,,/MyAssembly;component/bug.png

Ответ 2

→ Щелкните правой кнопкой мыши файл изображения → щелкните по свойству → выберите "Создать действие для ресурса" → "Очистить и построить решение" → запустить решение.

Вы получите все.

Ответ 3

У меня была такая же проблема. Очистка и восстановление решения не исправить, поэтому я перезапустил визуальную студию, и это произошло. Здесь, надеюсь, Visual 2010 устраняет эту проблему и многие другие, которые измеряют wpf в Visual 2008.

Ответ 4

Попробуйте запустить путь к вашему изображению с помощью "/":

<Image Source="/bug.png"/>

Ответ 5

Существует решение вашего вопроса

<Image Source="/WpfApplication4;component/images/sky.jpg" />

"component" не является папкой!

Ответ 6

Это не так, или, по крайней мере, текущая бета-версия не работает. Я нашел эту страницу, рассматривая точно такую ​​же проблему. Восстановление/очистка ничего не сделали. После закрытия и перезагрузки решения файл волшебным образом стал совместимым снова.

Ответ 7

Пример асинхронной загрузки, другой вариант. Пример clip.mp4 находится в корне веб-проекта.

void Landing_Loaded(object sender, RoutedEventArgs e)
{
    //Load video async

    Uri pageUri = HtmlPage.Document.DocumentUri;
    Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;           

    WebClient webClient = new WebClient();
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    webClient.OpenReadAsync(videoUri);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] VideoBuffer = new byte[e.Result.Length];
    e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
    MemoryStream videoStream = new MemoryStream(VideoBuffer);
    ContentVideo.SetSource(videoStream);
    ContentVideo.Stop();
    ContentVideo.Play();
}

Ответ 8

Я столкнулся с одной и той же проблемой, но перезапуск VS2008 или очистка и перестройка проекта не помогли мне. В конце концов, следующие шаги сделали трюк.

  • В проводнике Windows скопируйте изображение в папку ресурсов проекта. Пример: MyProject\Resources\
  • В Visual Studio щелкните правой кнопкой мыши Ресурсы и выберите "Добавить > Существующий элемент" и выберите изображение, которое вы только что скопировали в
  • Из формы XAML установите источник изображения как: "Source="Resources/MyImage.ico" (мое изображение было сохранено как файл значка (.ico), но этот подход должен работать для любого типа изображения

Надеюсь, это поможет кому-то

Ответ 9

У меня была аналогичная проблема. После того, как я удалил файл someStyle.xaml, который я действительно не использовал из обозревателя решений. Затем я восстановил файл, но никаких изменений не произошло. Очистка и восстановление проекта не помогли.

Просто удалите соответствующую строку:

<ResourceDictionary Source="someStyle.xaml"/> 

сделал трюк.

Ответ 10

У меня было такое же сообщение об ошибке, но мои проблемы были простой ошибкой NOOB.

Когда я добавил свои файлы .ico в "Мой проект/ресурсы", VS создал подпапку "Ресурсы", и я пытался использовать;

<Window Icon="icons1.ico">

когда я должен был использовать;

<Window Icon="Resources/icons1.ico">

... не судите, я начал использовать WPF 1 неделю назад:)