a·gen·tic a·gil·i·ty

Creating a better TFS Sticky Buddy (Core)

Explains building a flexible WPF data model in VB.NET for visualising hierarchical relationships using generics, ObservableCollections, and INotifyPropertyChanged.

Published on
2 minute read
Image
https://nkdagility.com/resources/NNnyeihSpHg
Subscribe

Creating a better TFS Sticky Buddy (Core) Over the last week I have been looking at the source for the Family.Show application from Vertigo . I needed to look at methods of presentation of hierarchical information graphically using WPF and I saw this as a good representation of that sort of data. So I se about not only converting it to VB.NET but adding generics to the mix.

The first part of the application is the core objects that represent the data and allow interaction in a way that WPF can handle. This means using Observable Collections and implementing INotifyPropertyChanged to allow a higher level of interaction. I wanted to support any Source object type as well as my own custom types, so the type needed to be nested with a Wrapper that gives the illusion that it is a solid type, but in actual fact it is a soft wrapper that allows the system to interact with it without really understanding the type. The specific understanding of the type is done at a much higher level.

You will need to open this diagram in a new window to get the effect, but it is a completely generic representation of Parent, Child and  Sibling relationships for any object regardless of wither you have access to the source or not.

This is not currently designed to be an editable object, but inheriting from the ItemWrapper class would allow this, but would require a modification to the framework to handle the inherited type. Maybe v2…

Technorati Tags: .NET WPF Design WIT Developing

Subscribe

Related Blog

No related videos found.

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Capita Secure Information Solutions Ltd Logo

Capita Secure Information Solutions Ltd

New Signature Logo

New Signature

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.

Slaughter and May Logo

Slaughter and May

Akaditi Logo

Akaditi

Sage Logo

Sage

Kongsberg Maritime Logo

Kongsberg Maritime

Trayport Logo

Trayport

Brandes Investment Partners L.P. Logo

Brandes Investment Partners L.P.

Big Data for Humans Logo

Big Data for Humans

Slicedbread Logo

Slicedbread

Teleplan Logo

Teleplan

ALS Life Sciences Logo

ALS Life Sciences

DFDS Logo

DFDS

SuperControl Logo

SuperControl

Hubtel Ghana Logo

Hubtel Ghana

Xceptor - Process and Data Automation Logo

Xceptor - Process and Data Automation

Cognizant Microsoft Business Group (MBG) Logo

Cognizant Microsoft Business Group (MBG)

Royal Air Force Logo

Royal Air Force

Washington Department of Transport Logo

Washington Department of Transport

Nottingham County Council Logo

Nottingham County Council

New Hampshire Supreme Court Logo

New Hampshire Supreme Court

Washington Department of Enterprise Services Logo

Washington Department of Enterprise Services

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

Jack Links Logo

Jack Links

Boeing Logo

Boeing

Cognizant Microsoft Business Group (MBG) Logo

Cognizant Microsoft Business Group (MBG)

Freadom Logo

Freadom

Hubtel Ghana Logo

Hubtel Ghana

YearUp.org Logo

YearUp.org