Dependency properties solve a different usage scenario than reflection and attributes would solve.
Dependency properties provide a single, consistent API for doing things that standard properties cannot handle.
- The allow classes to provide a large number of properties without overhead (since they're only created, statically, when used, not once per class). For
- The dependency property system handles things like Attached Properties in a consistent manner as standard dependency properties.
- Dependency properties provide a clean API for change tracking as well as validation.
- Dependency properties provide property value inheritance.
- Dependency properties provide great performance benefits when data bound.