| Property |
Type |
Default |
Description |
Uri |
string? |
null |
The image to load. http/https goes through IImageService; resource:// reads an embedded resource; data: is decoded inline; anything else is a file path or bundled asset. See Image Sources |
Source |
ImageSource? |
null |
An explicit source. Takes precedence over Uri and skips the service entirely |
| Property |
Type |
Default |
Description |
PlaceholderImage |
ImageSource? |
null |
Artwork shown before and during the load, behind the ring |
ErrorImage |
ImageSource? |
null |
Artwork shown on failure. Ignored when ErrorTemplate is set |
LoadingTemplate |
DataTemplate? |
null |
Replaces the ring. BindingContext is the live ImageLoadProgress |
ErrorTemplate |
DataTemplate? |
null |
Replaces the error artwork |
| Property |
Type |
Default |
Description |
Aspect |
Aspect |
AspectFit |
How the image scales. Applies to the placeholder and to SVG too |
FadeInDuration |
uint |
150 |
Fade-in milliseconds once loaded. 0 shows it instantly |
SvgTintColor |
Color? |
null |
What currentColor resolves to in an SVG. Null draws it black. Ignored by rasters and by artwork with its own colours. See SVG |
RingSize |
double |
48 |
Diameter of the loading ring |
RingColor |
Color? |
null |
Progress arc; null uses the theme Primary token |
RingTrackColor |
Color? |
null |
Unfilled track; null uses SurfaceContainerHighest |
ProgressTextColor |
Color? |
null |
Percentage label; null uses OnSurface |
ShowProgressText |
bool |
true |
Draw the percentage inside the ring. Never shown when indeterminate |
| Property |
Type |
Default |
Description |
CacheEnabled |
bool |
true |
Whether this image participates in the memory and disk caches |
CacheDuration |
TimeSpan? |
null |
Overrides ImageOptions.DiskCacheDuration for this image. A server-supplied Cache-Control/Expires still wins |
| Property |
Type |
Default |
Description |
State |
ImageLoadState |
None |
None, Queued, Downloading, Loaded, Failed |
Progress |
ImageLoadProgress |
— |
The live snapshot; also the LoadingTemplate binding context |
IsLoading |
bool |
false |
True while queued or downloading |
LoadError |
Exception? |
null |
Why the last load failed |
| Member |
Type |
Description |
ImageLoadedCommand |
ICommand? |
Invoked with ImageLoadedEventArgs(Uri, Origin, ContentLength) |
ImageFailedCommand |
ICommand? |
Invoked with the exception |
ImageLoaded |
event |
Raised once the image is on screen |
ImageFailed |
event |
Raised with ImageFailedEventArgs(Uri, Error) when a load fails |
ReloadAsync() |
method |
Re-fetches, skipping both cache tiers — and, for SVG, re-parsing |
Dispose() |
method |
Cancels any in-flight load and releases the control’s resources |
These are plain CLR properties rather than bindable ones — they exist to be assigned from code.
| Property |
Type |
Description |
ImageService |
IImageService |
The pipeline this control loads through. Assign to override the resolved one for this instance |
SvgCache |
SvgCache |
Where parsed SVG documents are shared from. Assign to give a screen its own, or to isolate a test |
| Parameter |
Type |
Default |
Description |
Uri |
string? |
null |
The image to load. Relative and absolute URLs both work |
PlaceholderUri |
string? |
null |
Artwork shown before and during the load |
ErrorUri |
string? |
null |
Artwork on failure. A built-in glyph is used when neither this nor ErrorContent is set |
Alt |
string? |
null |
Alt text |
ObjectFit |
string |
contain |
CSS object-fit |
FadeInDuration |
int |
150 |
Fade-in milliseconds |
LoadingContent |
RenderFragment<ImageLoadProgress>? |
null |
Replaces the ring; context is the live progress |
ErrorContent |
RenderFragment<ImageLoadProgress>? |
null |
Replaces the error artwork |
RingSize |
double |
48 |
Ring diameter in px |
ShowProgressText |
bool |
true |
Percentage inside the ring |
RingColor / RingTrackColor / ProgressTextColor |
string |
theme vars |
CSS colours |
DisableProgress |
bool |
false |
Skip the streamed fetch; let the browser load the URL directly |
ErrorGlyph |
string |
🖼 |
Glyph used when no error artwork is supplied |
CssClass |
string? |
null |
Extra classes on the wrapper |
Callbacks: ImageLoaded, ImageFailed. Method: ReloadAsync().
There is no Source, CacheEnabled, CacheDuration or SvgTintColor on Blazor — see Blazor for why.
| Member |
Type |
Description |
State |
ImageLoadState |
Where the load is |
BytesRead |
long |
How much has arrived |
TotalBytes |
long? |
The expected size, when known |
Percent |
double? |
0–1, or null when a percentage would be a lie |
PercentDisplay |
double |
0–100, for binding to a progress bar |
IsIndeterminate |
bool |
True exactly when Percent is null |