【发布时间】:2019-01-17 22:53:20
【问题描述】:
我创建了一个用户控件,并希望在代码中获取 DependencyProperty“ListBoxReadOnly”的值。我在 XAML 中设置了值:
<control:AutoCompleteTextBox x:Name="actbFullName" ListBoxReadOnly="True"/>
当我试图读取构造函数中的值时,它只显示默认值为 false。
我试图通过回调来获取值,但可能我对整个框架缺乏一些了解。由于回调是一个静态方法,我不能将它应用到我的用户控件的实例。
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;
}
任何帮助表示赞赏:-)
【问题讨论】:
标签: c# wpf user-controls dependency-properties