using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace FirstCustomDependencyProperty
{
    class A : DependencyObject
    {
        //utworzenie i zarejestrowanie właściwości zależnej
        //argumenty: Identyfikator - nazwa, typ właściwości, typ właściciela
        //ostatnim argumentem jest metadana definiująca domyślną wartość właściwości na 
        //false
        public static readonly DependencyProperty FirstDependencyProperty = DependencyProperty.Register(
        "FirstDependency", typeof(Boolean), typeof(A), new PropertyMetadata(false));

        //wrapper dla właściwości o takiej samej nazwie jak właściowość zależna
        //wykorzystuje metody SetValue i GetValue klasy DependencyProperty
        public bool FirstDependency
        {
            get { return (bool)GetValue(A.FirstDependencyProperty); }
            set { SetValue(A.FirstDependencyProperty, value); }
        }
    }

}
