Согласно вашему коду, класс GenerateRandomImagePath не реализует INotifyPropertyChanged. WPF не может знать, что ImageFullPath изменился, если вы не сообщите об этом, либо реализовав этот интерфейс, либо изменив класс на производный от DependencyObject и превратив свойство в свойство зависимости.
Я бы предложил реализовать INotifyPropertyChanged - это более легкий подход.
public class GenerateRandomImagePath : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName);
}
private string _imageFullPath;
public string ImageFullPath
{
get { return _imageFullPath; }
set
{
_imageFullPath = value;
OnPropertyChanged("ImageFullPath");
}
}
}