故障排除依赖性依赖性绑定在usercontrols中
>将UserControl的DataContext
设置为this
>可以意外地破坏数据绑定到父对照属性。 之所以发生这种情况,是因为绑定失去了DataContext
属性的继承。
问题解释了 当UserControl的
设置为自身时,usercontrol中的绑定尝试从父控件的视图模型访问属性将失败。 绑定机制找不到目标属性,因为它在错误的上下文中(USERCONTROL本身,而不是其父母)。>
DataContext
>
RelativeSource
>
解决方案是避免在UserControl的构造函数中设置
以显式地针对父控件的DataContext = this
RelativeSource
。
DataContext
这是调整XAML绑定的方法:
现在,此绑定正确地搜索了视觉树,以找到类型
<TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
要完成设置,请在父级视图模型中绑定USERCORTROL的DataContext
属性:UserControl
>
这种方法可确保USERCORTROL的SelectedFile
依赖关系和父母的视图模型属性之间的适当连接,从而解决了绑定问题。
以上是为什么将DataContext设置为usercontrol中的'断开依赖关系”绑定?的详细内容。更多信息请关注PHP中文网其他相关文章!