2015-12-19 3 views
1

Я получаю эту ошибку, если я пытаюсь запустить свое «приложение». На самом деле это пустое окно с фоном.Не удалось найти часть пути при использовании ImageBrush

<Window x:Class="NWN_Tsuki.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="831" Width="875"> 
<Window.Background> 
    <ImageBrush Stretch="None" ImageSource="pack://siteoforigin:,,,/Resources/Book.png" /> 
</Window.Background> 
<Grid/> 
</Window> 

Это все мое приложение. И я получаю ошибку. Если я устанавливаю абсолютный путь к изображению - все работает нормально.

Я попытался google, я искал те же темы здесь и пытался сделать то, что работал для других, - нет прогресса. Только одно окно. Только одно фоновое изображение в ресурсах добавлено через мастера.

Visual Studio 2013, Windows 7 Ultimate x64

+0

Каков точный текст ошибки? Является ли это компиляцией или ошибкой времени выполнения? И что произойдет, если вы измените Imagesource в окне свойств? –

ответ

2

Я не пробовал добавлять изображение через мастера, что Я создаю папку «Ресурсы» в моем проекте. Затем я добавляю изображение в указанную папку. Установите для свойства изображения значение «Копировать всегда» или «Копировать», если «Создать». Затем выполните:

<ImageBrush Stretch="None" ImageSource="../Resources/Book.png" /> 

Во всяком случае, Book.png просто не копируется.

EDIT: ВАЖНО Кроме того, убедитесь, чтобы изменить Сложение Действие в Book.png в для ресурсов

+0

Ничего. Такая же ошибка. Работает только абсолютный путь. – Kodek

+0

Ответ Обновлено. Я использовал Image вместо ImageBrush. Я не уверен, почему, но есть разница между ними, как написано Сашей Барбер: http://www.codeproject.com/Articles/37341/A-Moan-About-ImageBrush-In-WPF. – stromms

0

Прежде всего, я думаю, вы можете просто написать ImageSource = "Ресурсы/Book.png", и он будет работать.

Во-вторых, если вы хотите с "пакет: //", вы думаете, что написать его ImageSource = "пакет: // приложение: ,,,/Ресурсы/Book.png"

Еще один способ - ImageSource = "ProjectName; component/Resources/Book.png", где ProjectName - это название проекта, в котором вы сохраняете изображение. Вы можете даже конкатенировать все это, если вам нужно ImageSource = "pack: // application: ,,, ProjectName; component/Resources/Book.png"

+0

ImageSource = "Resources/Book.png" та же ошибка; ImageSource = "pack: // application: ,,,/Recources/Book.png" та же ошибка; ImageSource = "ProjectName; component/Recources/Book.png" Blend не поддерживает этот формат файла. И да им УВЕРЕН, что файлы находятся в ProjectName/Resources/ – Kodek

+0

Может быть, им страдают зря? Мне нужно только однофайловое приложение в результате, и с абсолютным изображением пути все равно будет выпекаться? Просто новый для WPF. – Kodek

+0

@Kodek В свойствах этого файла ресурсов убедитесь, что build action = resource. –

1

Я испытал это. Оказалось, что .png повреждено. Когда я переходите к папке в File Explorer, я увидел следующую

enter image description here

Я думаю mkelem что-то делать с нашим контролем источника, так что, может быть, это было то, что испорчены, независимо, поэтому некоторые люди могут получить это сообщение об ошибке.

Смежные вопросы