title: Xamarin.Forms Refresh Image URI Using FFImageLoading?
body: <p>In my app I have a button and an image. I click the button, it loads the devices photo picker and then on selection, sets the image source to the selected image.</p>
  
  <p>This works fine if I set the image directly through code using (ImageName).Source = "(Source)".</p>
  
  <p>Instead, what I'm doing is sending that image and storing it in Azure Storage and using the UR of that image as the binding for the images source. This works fine.</p>
  
  <p>However the problem I'm encountering is when I have sent the image, I want it to update the image source without having to set it in code. I want it to be done through the view model binding.</p>
  
  <p>This is because there are parts of the app that also use this URI and therefore when I update the image in the Azure Storage, I want it to then update the image in all parts of the app.</p>
  
  <p>So what happens is this...</p>
  
  <ol>
  <li>Click Button and select image from photo picker.</li>
  <li>Image is sent to Azure Storage where it is stored.</li>
  <li>The image does not update.</li>
  <li>Close App.</li>
  <li>Load App.</li>
  <li>Image is now the updated image.</li>
  </ol>
  
  <p>I'm essentially looking for a way to "refresh" the URI. 
  I'm sure it has something to do with the way the caching of images works, but I'm not entirely sure.
  The image is loaded if I close the app and open it again but this is not an ideal solution.</p>
  
  <p><strong>To summarise:</strong> I need a way to update/refresh the URI of the image that its source is bound to in the view model so that it loads the newly added image.</p>
  
  <p>Here is my xaml...</p>
  
  <pre><code> &lt;ffimageloading:CachedImage HeightRequest="125"
                               WidthRequest="125" 
                               x:Name="img_dp"
                               LoadingPlaceholder="ic_user_default.png"
                               ErrorPlaceholder="ic_user_default.png"
                               CacheDuration="0"
                               CacheType="None"
                               Source="{Binding DisplayPicture}"&gt;
                          &lt;/ffimageloading:CachedImage&gt;
  </code></pre>
  
  <p>Here is my view model binding...(UserInfo.DisplayPicture is the URI)</p>
  
  <pre><code>private string _displayPicture { get; set; } = UserData.UserInfo.DisplayPicture;
      public string DisplayPicture
      {
          get
          {
              if (_displayPicture == null)
              {
                  return "ic_user_default";
              }
              else
              {
  
  
                  return _displayPicture;
              }
          }
          set
          {
              _displayPicture = value;
              OnPropertyChanged(nameof(DisplayPicture));
          }
      }
  </code></pre>
  
  <p>PS: 
  <strong>I have tried</strong> </p>
  
  <ul>
  <li>With and without OnPropertyChanged.</li>
  <li>Using ImageSource type instead of string for the binding type.</li>
  <li>Using FFImageLoadings features to clear the cache.</li>
  </ul>