我有一个带有 DependencyProperty 的 UserControl。我使用数据绑定表达式在主机窗口中设置它的值。但是,它没有按预期工作。
来自用户控件的代码隐藏片段:
public class ViewBase : UserControl
{
public static readonly DependencyProperty ViewModelProperty
= DependencyProperty.Register(
"ViewModel", typeof(ViewModelBase), typeof(ViewBase));
public ViewModelBase ViewModel
{
get { return GetValue(ViewModelProperty) as ViewModelBase; }
set
{
SetValue(ViewModelProperty, value);
}
}
}
并且来自 XAML(注意:CasingListView 继承自 ViewBase):
<CasingEditor:CasingListView x:Name="_casingListView"
ViewModel="{Binding CasingListViewModel}" />
发生的事没什么。具体来说,setter 永远不会被调用,并且该属性保持为空。我知道源属性CasingListViewModel
有一个值,因为我试图将它绑定到另一个属性(DataContext),它工作正常。
我认为依赖属性可以是数据绑定的。我错了吗?