这个问题在这里已经有了答案:
9年前关闭。
我被困在看似愚蠢的问题上。
我有一个用户控件 MyControl.xaml,MyControl.xaml.cs 定义了一个公共(public)依赖属性:
public static readonly DependencyProperty VisibleItemsProperty =
DependencyProperty.Register("VisibleItems", typeof(object), typeof(MyControl));
public object VisibleItems
{
get { return (object)GetValue(VisibleItemsProperty); }
set { SetValue(VisibleItemsProperty, value); }
}
在另一个 View SomeOtherViewA 中,我声明了我的控件:
<cc:MyControl VisibleItems="{Binding VisibleTables}" />
VisibleTables 是 View 模型 SomeOtherViewModelA 的依赖属性。
我知道 VisibleTables 返回值,因为它绑定(bind)到 SomeOtherViewA 中的其他控件(例如 ListBox)并且它们工作正常。
出于某种原因,我的自定义用户控件中的依赖属性从未设置过。我错过了一些明显的东西吗?
最佳答案
我想我刚刚找到了 a duplicate 。
还有更多关于这个 on MSDN :
( SetValue
被直接调用,那些包装器属性只是为了方便后面的代码)
关于c# - WPF UserControl 依赖属性 setter 未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5644081/