PDFx – Property Dependency Framework – Part II, Library Versions

The PDFx is a lightweight open source .NET library that allows developers to describe dependencies between Properties in declarative C# code. Once relationships are registered, the framework monitors property changes and ensures that the INotifyPropertyChanged.PropertyChanged event is fired for all directly and indirectly dependent properties in a very efficient way. The library is available for WPF, Silverlight, WinRT (Windows Store) and Windows Phone.

I’ve developed the PDFx as an InterKnowlogy RECESS project and published the source code and examples on codeplex.

In a series of blog posts I am going to cover the library’s most important features:

Library Versions

The core of the framework lives in the PropertyDependencyFramework-assembly which is a Portable Class Library. Some optional PDFx features require platform specific functionality that does not come with the .NET Portable Subset. Thus, there exist platform specific libraries for WPF, Silverlight 5, WP8, Windows Store which extend the basic PropertyDependencyFramework-assembly.

If there exists a specific library for your target platform, I strongly recommend using it. If not, you can always fall back on the PCL.

Feature .NET 4.5 Portable Class Library WinRT WP8 WPF SL5
Simple Property Dependencies x x x x x
Property Dependencies to external objects x x x x x
Property Dependencies to ObservableCollections x x x x x
Callbacks x x x x x
Property Dependencies to hot swappable external objects   x x x x
Property Dependencies to hot swappable ObservableCollections   x x x x
Deferred Callbacks   x x x x
Sanity Checks       x x

2 thoughts on “PDFx – Property Dependency Framework – Part II, Library Versions

  1. Pingback: PDFx – Property Dependency Framework – Part I, Introduction | //InterKnowlogy/ Blogs

  2. Pingback: PDFx – Property Dependency Framework – Part III, Getting started | //InterKnowlogy/ Blogs

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>