Я заметил, что для параметра Copy to Output Directory
установлено значение «Не копировать».
Попробуйте изменить его на «Копировать всегда» или «Копировать, если новее» и посмотрите, поможет ли это.
Обновление
Я только что написал пример приложения, чтобы попытаться выяснить это.Кажется, он работает правильно, поэтому я опубликую свой код здесь, надеясь, что он поможет.
<Grid>
<Grid.Background>
<ImageBrush x:Name="brush" AlignmentX="Left" ImageSource="images/have_the_dumb.jpg" Stretch="Fill" />
</Grid.Background>
</Grid>
В коде позади я добавил некоторый код трассировки, чтобы увидеть, где ImageBrush
считает, что егоImageSource
is.
public ImageDisplay()
{
Trace.Listeners.Add(new TextWriterTraceListener(@"c:\happyface.trace.log"));
Trace.AutoFlush = true;
InitializeComponent();
Trace.WriteLine(String.Format("Image thinks it's in {0}", brush.ImageSource.ToString()));
}
При запуске в режиме отладки вы должны увидеть строку, записанную в окно вывода (а также в файл * .trace.log) с URI, где он считаетизображение находится.
Я запустил его с изображением в папке с изображениями в корне моего решения.Я попытался сделать это с изображением, установленным как «Содержимое» (с «Копировать, если новее»), а также как «Ресурс» (с не копировать), и оно успешно запустилось оба раза.
Надеюсь, это указывает на васправильное направление.