Привязанное изображение не появляется во время разработки - PullRequest
0 голосов
/ 07 мая 2018

Наличие образца изображения, которое я использую в своем WPF-контроле для целей тестирования.

Путь к изображению <project_dir>/Assets/Samples/dog.jpg

Когда я вписываю путь к изображению в атрибуте источника, он работает без проблем (как в дизайне, так и во время выполнения):

<Image Source="/Assets/Samples/dog.jpg" Stretch="UniformToFill" />

Однако, когда я перемещаю путь изображения в свою ViewModel, он почему-то работает только во время выполнения.

public string Image { get; set; }

public MyControlViewModel() {
     Image = "/Assets/Samples/dog.jpg";
}

<Image Source="{Binding Image}" Stretch="UniformToFill" />


Я изменил действие по созданию образа на Resource, безрезультатно.

Также попытался использовать путь URI ресурса (pack://application:,,,/Assets/Samples/dog.jpg) - также безрезультатно.


  • Это ожидаемое поведение?
  • Почему это происходит и как я могу заставить его работать и во время разработки?

1 Ответ

0 голосов
/ 08 мая 2018

Во время разработки, ваша ViewModel (явно) привязана к DataContext представления?

  • Если да, то дизайнер должен показать это. Если это не так, перестройте весь ваш проект / решение.

  • Если нет, то есть вероятность, что он не будет отображаться во время разработки, поскольку DataContext неизвестен. Одно из решений связывает это только ради дизайна:

Например:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
xmlns:vm="clr-namespace:MyApp.ViewModels"    
mc:Ignorable="d"
d:DataContext="{d:DesignInstance {x:Type vm:MyControlViewModel},IsDesignTimeCreatable=True}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...