PropertyChanged and CoerceValue Callbacks Sample
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
This example illustrates how to implement callbacks for dependency properties. The dependencies illustrated here are deliberately complex, and illustrate some of the challenges that you will face if you create complex dependencies and also attempt to update constrained values as part of a user interface. It is deliberately not intended as a best practice for all aspects of how to implement callbacks, and is more intended to show the possible complexities. It features two different templates that present the same control information in two different representations.
You should experiment with the sample and make your own choices about how you could represent this same Minimum/Current/Maximum relationship by using fewer constraints in favor of hard-coded values, or not exposing as many aspects of the properties to user control.
This sample demonstrates a specific feature of the Windows Presentation Foundation and, consequently, does not follow application development best practices. For comprehensive coverage of Windows Presentation Foundation (WPF) and Microsoft .NET Framework application development best practices, refer to the following as appropriate:
Accessibility - Accessibility Best Practices
Security - Windows Presentation Foundation Security
Localization - WPF Globalization and Localization Overview
Install the Windows Software Development Kit (SDK) and open its build environment command window. On the Start menu, point to All Programs, Microsoft Windows SDK, and then click CMD Shell.
Download the sample, usually from the software development kit (SDK) documentation, to your hard disk drive.
To build the sample from the build environment command window, go to the source directory of the sample. At the command prompt, type MSBUILD.
To build the sample in Microsoft Visual Studio, load the sample solution or project file and then press CTRL+SHIFT+B.