/// <summary>
        ///     Creates an attached event member with custom logic.
        /// </summary>
        public static INotifiableAttachedBindingMemberInfo <TTarget, object> CreateEvent <TTarget>([NotNull] string path, Action <TTarget, MemberAttachedEventArgs> memberAttachedHandler = null)
        {
            var eventMember = new AttachedBindingMemberInfo <TTarget, object>(path, typeof(Delegate),
                                                                              memberAttachedHandler, null, null, GetBindingMemberValue, (info, target, arg3) =>
            {
                return(EventListenerList.GetOrAdd(target, ((IAttachedBindingMemberInternal)info).Id).AddWithUnsubscriber((IEventListener)arg3[0]));
            }, null, null, BindingMemberType.Event);

            eventMember.RaiseAction = (@internal, target, arg3) => EventListenerList.Raise(target, @internal.Id, arg3);
            return(eventMember);
        }
 private static void RaiseTextChanged(IBindingMemberInfo info, object field, object arg3)
 {
     EventListenerList.GetOrAdd(field, TextChangedEvent).Raise(field, arg3);
 }
 private static IDisposable SetTextFieldTextChanged(IBindingMemberInfo bindingMemberInfo, NSObject item, IEventListener arg3)
 {
     return(EventListenerList.GetOrAdd(item, TextChangedEvent).AddWithUnsubscriber(arg3));
 }
예제 #4
0
 public static IDisposable AddExpandListener(IMenuItem menuItem, IEventListener listener)
 {
     return(EventListenerList.GetOrAdd(menuItem, Key).AddWithUnsubscriber(listener));
 }
 public IDisposable ObserveMember(IBindingMemberInfo arg1, TTarget arg2, IEventListener arg3)
 {
     return(EventListenerList
            .GetOrAdd(arg2, GetMemberPath((IAttachedBindingMemberInternal)arg1))
            .AddWithUnsubscriber(arg3));
 }
예제 #6
0
 private static IDisposable ObserveErrors(IBindingMemberInfo bindingMemberInfo, DependencyObject dependencyObject, IEventListener arg3)
 {
     return(EventListenerList.GetOrAdd(dependencyObject, ErrorsObserverKey).AddWithUnsubscriber(arg3));
 }
예제 #7
0
 public static IDisposable AddDateChangedListener(DatePicker datePicker, IEventListener listener)
 {
     return(EventListenerList.GetOrAdd(datePicker, Key).AddWithUnsubscriber(listener));
 }