Обычно они объявляются в UserControl
s и производных элементах управления.
Вы можете связать с свойством CLR, но не можете связать с aСобственность CLR;вам понадобится свойство зависимости для выполнения любой привязки.
Редактировать (в ответ на комментарий)
Допустим, вам нужен TextBox, но вы хотите настроить его так, чтобы он имел другое поведение в "EditMode "и" ReadMode ".Вам нужно будет либо создать производный класс, либо UserControl
;в любом случае вы добавите DependencyPropery.
public class TextBoxWithModes : TextBox
{
public bool EditMode
{
get { return (bool) GetValue(EditModeProperty); }
set { SetValue(EditModeProperty, value); }
}
public static readonly DependencyProperty EditModeProperty = DependencyProperty.Register(
"EditMode", typeof (bool), typeof (TextBoxWithModes));
}
Имея это, вы можете объявить его в XAML:
<Namespace:TextBoxWithModes Text="enter text here"
Width="200"
HorizontalAlignment="Center"
EditMode="{Binding IsChecked, ElementName=editModeCheckBox}" />