تعریف یک ویژگیوابسته(DependencyProperty) در WPF
پیش از شروع لازم است تعریفی از ویژگی داشتهباشیم، یک ویژگی، خاصیت و یا پراپرتی(Property) {در تمامی این مقاله ویژگی به معنی پراپرتی میباشد} یک مکانیزم انعطافپذیر برای خواندن، نوشتن و یا محاسبه یک فیلد یا متغیر میباشد. ویژگی را بهگونهای میتوان استفاده کرد که گویی یک متغیر عمومی است، یعنی مانند تعریف یک متغیرعمومی(Public) در یک کلاس عملمیکند. اما در متغیرعمومی امکان کنترل داده ورودی وجود ندارد، برای نمونه فرض کنید در کلاس شخص(Person) یک متغیرعمومی از نوع اعداد صحیح برای ورود اطلاعات قد افراد تعریف شده باشد، اما میدانیم قد افراد نمیتواند بیش از 250سانتیمتر باشد، ولی بدلیل تعریف عمومی آن، امکان کنترل قد برای جلوگیری از ورود اطلاعات نادرست نیست. اما اگر همین متغیر را بهصورت یک ویژگی تعریفکنیم، امکان اعتبارسنجی(Validate) برای آن وجود دارد. در برنامهنویسی استاندارد(شاید استاندارد واژه مناسبی برای آن نباشد) وقتی میخواهید یک ویژگی تعریفکنید نخست یک متغیر خصوصی(Private variable) تعریفمیکنید و با دستورهای Get و Set مقادیر ویژگی را تنظیم(Set) کرده و یا(Get) برمیگردانید(به این ویژگیها CLR Property که مخفف Common Language Runtime Property است گفتهمیشود).