CoreHelpers Library for WPF
Download (zip, 77 kb)Updated 19 Dec 2011 |
Free General Public License
The source code is licensed under the GPL by default.
The GPL license is ideal if you plan to use the code in-house or you plan to develop and distribute your own derivative work as free software under the GPL as well. |
Commercial License
A commercial license is required if you want to embed the code in a commercial non-GPL product. Commercial licensees gain access to premium services and support. To request information on Commercial Support and License Options, contact your Account Manager.
|
The following is a partial list of the functionality provided by this library.
| Presentation Models (MVVM) |
|
| Aggregation |
The interfaces IContainer<TContainer,TItem> and IContained<TContainer,TItem> represent the two ends of an aggregative association. These two interfaces can be implemented individually on different classes if the association is not recursive. ITreeNode<T> combines the two roles for a single class to implement when the association is recursive. The library also includes several extension methods that operate on instances of ITreeNode<T>, as discussed in this article. |
| List/Tree Manipulation |
Each instance of FlatPlacementArgs<TContainer,TItem> and HierarchicalPlacementArgs<T> encapsulates an operation to place an item within a list or tree and, if already present in the structure, remove it from its old location.
The new position can be described in one of two ways: (a) as a "nudge" relative to the original position of the item being moved (frontward, rearward, demote, promote), or (b) as an "insert" relative to another item that acts as a target (sibling after, sibling before, child, parent). Passing in true for the constructor's isSorted parameter causes items to be placed in sorted order. |
| WPF Extensions |
- The
GetTreeViewItem extension method navigates from a TreeView to a given data context's corresponding TreeViewItem.
- The "axis methods" (mentioned in this blog entry) can be used to query a visual tree node's ancestors, siblings, and descendants.
|
 |
| Bidirectional Associations |
The OneToManyAssocSync and ManyToManyAssocSync helper classes make it easy to maintain in-memory the semantics of bidirectional associations, by keeping an association's references in sync in both directions. |
|