Ответ 1
Отображение Image
в WPF намного проще. Попробуйте следующее:
<Image Source="{Binding DisplayedImagePath}" HorizontalAlignment="Left"
Margin="0,0,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Bottom"
Grid.Row="8" Width="200" Grid.ColumnSpan="2" />
И свойство может быть просто string
:
public string DisplayedImage
{
get { return @"C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg"; }
}
Хотя вы действительно должны добавить свои изображения в папку с именем Images
в корневом каталоге вашего проекта и установить их действие сборки в ресурс в окне свойств в Visual Studio... вы можете получить к ним доступ в этом формате:
public string DisplayedImage
{
get { return "/AssemblyName;component/Images/ImageName.jpg"; }
}
ОБНОВЛЕНИЕ → >
Как окончательный совет... если у вас когда-либо возникнет проблема с тем, что элемент управления работает не так, как ожидалось, просто введите "WPF", имя этого элемента управления, а затем слово "класс" в поисковую систему. В этом случае вы бы набрали "WPF Image Class". Главный результат всегда будет MSDN, и если вы нажмете на ссылку, вы узнаете об этом контроле, а на большинстве страниц также будут примеры кода.
ОБНОВЛЕНИЕ 2 → >
Если вы следовали примерам из ссылки на MSDN и не работали, то ваша проблема не является элементом управления Image
. Используя свойство string
, которое я предложил, попробуйте следующее:
<StackPanel>
<Image Source="{Binding DisplayedImagePath}" />
<TextBlock Text="{Binding DisplayedImagePath}" />
</StackPanel>
Если вы не видите путь к файлу в TextBlock
, то, вероятно, вы не установили свой DataContext
в экземпляр вашей модели представления. Если вы видите текст, проблема связана с вашим файловым пути.
ОБНОВЛЕНИЕ 3 → >
В .NET 4 значения выше Image.Source
будут работать. Тем не менее, Microsoft сделала некоторые ужасные изменения в .NET 4.5, которые сломали много разных вещей, и поэтому в .NET 4.5 вам нужно будет использовать полный путь pack
следующим образом:
<Image Source="pack://application:,,,/AssemblyName;component/Images/image_to_use.png">