MvvmCross

Daniel Luberda edited this page Dec 15, 2017 · 3 revisions

MvxCachedImageView allows you to easily integrate with MvvmCross.

Source available here

Samples available here

This helper is included in the Nuget packages.

iOS Example

_imageControl = new MvxCachedImageView();
ContentView.AddSubview(_imageControl);
ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();
SetNeedsUpdateConstraints();

this.DelayBind(
    () =>
    {
        _imageControl.LoadingPlaceholderImagePath = "res:place.jpg";
        _imageControl.ErrorPlaceholderImagePath = "res:place.jpg";
        _imageControl.TransformPlaceholders = true;

        var set = this.CreateBindingSet<CustomTableViewCell, Image>();
        set.Bind(_imageControl).For(v => v.DownsampleWidth).To(vm => vm.DownsampleWidth);
        set.Bind(_imageControl).For(v => v.Transformations).To(vm => vm.Transformations);
        set.Bind(_imageControl).For(v => v.ImagePath).To(vm => vm.Url);
        set.Apply();
    }
);

Android Example

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ffimageloading.cross.MvxCachedImageView
        android:layout_width="match_parent"
        android:layout_height="100dp"
        local:MvxBind="LoadingPlaceholderImagePath 'res:place.jpg'; ErrorPlaceholderImagePath 'res:place.jpg'; Transformations Transformations; DownsampleWidth DownsampleWidth; ImagePath Url" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        local:MvxBind="Text Url" />
</LinearLayout>
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.