gpt4 book ai didi

wpf - WPF数据绑定(bind)的 "RelativeSource FindAncestor"到底是做什么的?

转载 作者:行者123 更新时间:2023-12-03 03:47:54 24 4
gpt4 key购买 nike

我目前正在 WPF 用户控件中工作(我的 XAML 文件的根元素是“UserControl”),我知道该控件托管在 Window 内。如何使用数据绑定(bind)访问窗口的属性?

有谁知道为什么

<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Window}}" Path="..." />

不起作用?我收到的错误消息是:

System.Windows.Data 警告:4:无法找到引用“RelativeSource FindAncestor、AncestorType='System.Windows.Window'、AncestorLevel='1'' 进行绑定(bind)的源。

编辑:我最终使用了 ArsenMkrt 方法的变体,因此接受了他的答案。然而,我仍然有兴趣找出为什么 FindAncestor 不能“正常工作”。

最佳答案

最好的方法是给 UserControl 命名

在 UserControl 中使用两种方式绑定(bind)创建依赖属性 MyProperty 并将其绑定(bind)在主窗口中,而不是像这样在 UserControl 中绑定(bind)

<UserControl x:Name = "myControl">
<Label Content={Binding ElementName= myControl, Path=MyProperty}/>
</UserControl>

关于wpf - WPF数据绑定(bind)的 "RelativeSource FindAncestor"到底是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com