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. Если я создаю новое приложение и просто бросаю его в окно, тогда он отлично работает.
Любая помощь будет большой.
Ответы
Ответ 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 неделю назад:)