summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/PlatformEffect.cs
blob: e92231cebb4621d0310f29db6369be0c8a290b5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System.ComponentModel;

namespace Xamarin.Forms
{
	public abstract class PlatformEffect<TContainer, TControl> : Effect where TContainer : class where TControl : class
	{
		public TContainer Container { get; internal set; }

		public TControl Control { get; internal set; }

		protected virtual void OnElementPropertyChanged(PropertyChangedEventArgs args)
		{
		}

		internal override void SendDetached()
		{
			base.SendDetached();
			Container = null;
			Control = null;
		}

		internal override void SendOnElementPropertyChanged(PropertyChangedEventArgs args)
		{
			if (IsAttached)
				OnElementPropertyChanged(args);
		}
	}
}