public static TResult Get <T, TResult>(T target, Expression <Func <T, TResult> > reference) where T : class, INotifyPropertyChanged { var propertyName = Property.Path(reference); return(AttachedProperty.Get <TResult>(target, propertyName)); }