using System; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; using Tizen.NUI.Xaml; namespace Tizen.NUI.Binding { /// 6 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] [ContentProperty("Setters")] [ProvideCompiled("Tizen.NUI.Xaml.Core.XamlC.PassthroughValueProvider")] [AcceptEmptyServiceProvider] public sealed class Trigger : TriggerBase, IValueProvider { /// 6 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] public Trigger([TypeConverter(typeof(TypeTypeConverter))] [Parameter("TargetType")] Type targetType) : base(new XamlPropertyCondition(), targetType) { } /// 6 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] public BindableProperty Property { get { return ((XamlPropertyCondition)Condition).Property; } set { if (((XamlPropertyCondition)Condition).Property == value) return; if (IsSealed) throw new InvalidOperationException("Can not change Property once the Trigger has been applied."); OnPropertyChanging(); ((XamlPropertyCondition)Condition).Property = value; OnPropertyChanged(); } } /// 6 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] public new IList Setters { get { return base.Setters; } } /// 6 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] public object Value { get { return ((XamlPropertyCondition)Condition).Value; } set { if (((XamlPropertyCondition)Condition).Value == value) return; if (IsSealed) throw new InvalidOperationException("Can not change Value once the Trigger has been applied."); OnPropertyChanging(); ((XamlPropertyCondition)Condition).Value = value; OnPropertyChanged(); } } object IValueProvider.ProvideValue(IServiceProvider serviceProvider) { //This is no longer required return this; } } }