示例#1
0
        protected CachedReadOnlyProperty <T> CreateCachedReadOnlyProperty <T>(Func <T> updateFunction, string propertyName, INotifyPropertyChanged notifyObj = null, params string[] dependencies)
        {
            var result = CachedReadOnlyProperty.Create(updateFunction, notifyObj, dependencies);

            SubscribeTo(result, propertyName);
            return(result);
        }
示例#2
0
        protected void SubscribeTo <PropType>(CachedReadOnlyProperty <PropType> relayProperty, string propertyName)
        {
            void relayProperty_PropertyChanged(object sender, PropertyChangedEventArgs e)
            {
                OnPropertyChanged(propertyName);
            }

            void relayProperty_PropertyChanging(object sender, PropertyChangingEventArgs e)
            {
                OnPropertyChanging(propertyName);
            }

            //TODO: Fix Potential Memory Leaks
            relayProperty.PropertyChanging += relayProperty_PropertyChanging;
            relayProperty.PropertyChanged  += relayProperty_PropertyChanged;
        }