C# 我可以通过绑定到wpf中父控件属性的依赖属性在xaml中设置用户控件datacontext吗?
我有一个用户控件,它具有一个名为ViewModel的依赖属性。我希望此属性设置为该控件的数据上下文的值 下面是它的用法示例C# 我可以通过绑定到wpf中父控件属性的依赖属性在xaml中设置用户控件datacontext吗?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个用户控件,它具有一个名为ViewModel的依赖属性。我希望此属性设置为该控件的数据上下文的值 下面是它的用法示例 <uc:MyCustomControl ViewModel="{Binding CustomControlViewModel}"/> 这是“MyCustomControl”的构造函数 这似乎不起作用,我可能做错了什么?DataContext本身就是一个依赖属性。您可以直接将其与viewmodel一起指定,如下所示 <uc:MyCustomControl
<uc:MyCustomControl ViewModel="{Binding CustomControlViewModel}"/>
这是“MyCustomControl”的构造函数
这似乎不起作用,我可能做错了什么?
DataContext
本身就是一个依赖属性。您可以直接将其与viewmodel一起指定,如下所示
<uc:MyCustomControl DataContext="{Binding CustomControlViewModel}"/>
DataContext
本身是一个从属属性
。您可以直接将其与viewmodel一起指定,如下所示
<uc:MyCustomControl DataContext="{Binding CustomControlViewModel}"/>
为什么不从一开始就设置
呢?除了您不需要这个属性(因为您总是可以直接访问DataContext属性)之外,您的代码看起来还可以,而且应该可以工作。请注意,不需要在PropertyChangedCallback中签入null
。dependencyObject参数从不为null。@Clemens-了解dependencyObject从不为null很有用。我实现了被接受的答案,效果很好。为什么不从一开始就设置
?除了不需要这个属性(因为您总是可以直接访问DataContext属性)之外,您的代码看起来不错,应该可以工作。请注意,不需要在PropertyChangedCallback中签入null
。dependencyObject参数从不为null。@Clemens-了解dependencyObject从不为null很有用。我实现了公认的答案,效果很好。
<uc:MyCustomControl DataContext="{Binding CustomControlViewModel}"/>