Я создал пользовательский элемент управления и хотел получить значение DependencyProperty «ListBoxReadOnly» в коде. Я устанавливаю значение в XAML:
<control:AutoCompleteTextBox x:Name="actbFullName" ListBoxReadOnly="True"/>
Когда я пытался прочитать значение в конструкторе, он показывает только значение по умолчанию, которое является ложным.
Я пытался получить значение с помощью обратного вызова, но, вероятно, мне не хватает понимания всей структуры. Поскольку обратный вызов является статическим методом, я не могу применить его к экземпляру моего пользовательского элемента управления.
public static readonly DependencyProperty ListBoxReadOnlyDependency =
DependencyProperty.Register("ListBoxReadOnly", typeof(bool),
typeof(AutoCompleteTextBox), FrameworkPropertyMetadata
(false, FrameworkPropertyMetadataOptions.AffectsRender));
public bool ListBoxReadOnly
{
get
{
return (bool) GetValue(ListBoxReadOnlyDependency);
}
set
{
SetValue(ListBoxReadOnlyDependency, value);
}
}
// constructor of user control
public AutoCompleteTextBox()
{
InitializeComponent();
// *** shows "false" (default value) even though set to true in XAML
// *** see XAML above ***
var test = ListBoxReadOnly;
}
Любая помощь приветствуется: -)