Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以通过绑定到wpf中父控件属性的依赖属性在xaml中设置用户控件datacontext吗?_C#_Wpf_Xaml - Fatal编程技术网

C# 我可以通过绑定到wpf中父控件属性的依赖属性在xaml中设置用户控件datacontext吗?

C# 我可以通过绑定到wpf中父控件属性的依赖属性在xaml中设置用户控件datacontext吗?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个用户控件,它具有一个名为ViewModel的依赖属性。我希望此属性设置为该控件的数据上下文的值 下面是它的用法示例 <uc:MyCustomControl ViewModel="{Binding CustomControlViewModel}"/> 这是“MyCustomControl”的构造函数 这似乎不起作用,我可能做错了什么?DataContext本身就是一个依赖属性。您可以直接将其与viewmodel一起指定,如下所示 <uc:MyCustomControl

我有一个用户控件,它具有一个名为ViewModel的依赖属性。我希望此属性设置为该控件的数据上下文的值

下面是它的用法示例

<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}"/>