Introduction
Xamarin.Forms code runs on multiple platforms, each of which has its own filesystem. This means that reading and writing files are most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.
ContentView LifeCycle
- OnAppearing - raised when a View is about to appear on the screen.
- OnDisAppearing - raised when a View is about to disappear from the screen.
Problem
In Xamarin.froms Content view or any custom view we develop there are no lifecycle methods like OnStart, OnAppearing. This one is a major requirement for Xamarin.forms.
Solution
There is one workaround for OnAppearing and OnDisappearing in ContentView, we can invoke the parent page OnAppearing and OnDisAppearing to our ContentView. Please follow all steps.
Prerequisites
- Visual Studio 2017 or later (Windows or Mac)
Let's Start,
Setting up a Xamarin.Forms Project
Start by creating a new Xamarin.Forms project. You will learn more by going through the steps yourself.
Create a new or existing Xamarin forms(.Net standard) Project. With Android and iOS Platform.

Create Interface
Here, we need to create an interface for the renderer resolver
IRendererResolver.cs
public interface IRendererResolver
{
object GetRenderer(VisualElement element);
bool HasRenderer(VisualElement element);
}
Platform Implementation
Android Implementation
Create AndroidRendererResolver in your android project. And add the following code snippets.
AndroidRendererResolver.cs
[assembly: Dependency(typeof(AndroidRendererResolver))]
namespace XamarinStudy.Droid.Renderer
{
public class AndroidRendererResolver: IRendererResolver
{
public object GetRenderer(VisualElement element)
{
return Xamarin.Forms.Platform.Android.Platform.GetRenderer(element);
}
public bool HasRenderer(VisualElement element)
{
return GetRenderer(element) != null;
}
}
}
iOS Implementation
Create a iOSRenderderResolver for iOS in your iOS project. And copy paste the following code.
IosRendererResolver.cs
[assembly: Dependency(typeof(IosRendererResolver))]
namespace XamarinStudy.iOS.Renderer
{
public class IosRendererResolver: IRendererResolver
{
public object GetRenderer(VisualElement element)
{
return Xamarin.Forms.Platform.iOS.Platform.GetRenderer(element);
}
public bool HasRenderer(VisualElement element)
{
return GetRenderer(element) != null;
}
}
}
Setup UI
Now, create a UI for your requirement in your ContentView.
CommonListview.xaml



Ali Al-khamisPosted Apr 20, 2022, 9:00 AM
How to find the ContentPage Parent if the ContentView is used in a DataTemplate?
Sagar LadPosted Oct 1, 2021, 7:43 PM
Nice Article
Gurpreet AroraPosted Oct 1, 2021, 8:09 AM
Thank For Sharing