public static PushBindingCollection GetPushBindings(DependencyObject obj)
        {
            PushBindingCollection pushBindings = null;

            if (obj.GetValue(PushBindingsProperty) == null)
            {
                pushBindings = new PushBindingCollection(obj);

                SetPushBindings(obj, pushBindings);
            }

            return(pushBindings);
        }
        static int GetId(PushBindingCollection sourceCollection) => sourceCollection.Count == 1 ? 1 :
#if NETFRAMEWORK
        sourceCollection[sourceCollection.Count - 1].Id + 1
        private static void SetPushBindings(DependencyObject obj, PushBindingCollection value)
        {
            obj.SetValue(PushBindingsPropertyKey, value);

            ((INotifyCollectionChanged)value).CollectionChanged += CollectionChanged;
        }