问题标签 [relativesource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
477688 浏览

.net - 如何将 WPF 绑定与 RelativeSource 结合使用?

如何使用RelativeSourceWPF 绑定以及有哪些不同的用例?

0 投票
2 回答
5912 浏览

wpf - 你如何调试 wpf relativesource 在加载时抛出错误?

我正在使用一个包含ListBox. 列表框可以显示“图标”和“列表”视图。为了实现这一点,我们使用 ListBoxItem了动态应用于 的样式,ListBox以及一对对应ItemsPanelTemplate的 s。照原样,它显示得很漂亮。但是,在加载此对话框时,我们会遇到几十个绑定错误,例如:

System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType='System.Windows.Controls.ItemsControl',AncestorLevel='1''的绑定源。绑定表达式:路径=垂直内容对齐;数据项=空;目标元素是'ListBoxItem'(名称='');目标属性是“VerticalContentAlignment”(类型“VerticalAlignment”)

我们的理论是样式和模板在 之前加载ListBox,并且无法使用以下代码找到它们绑定的属性:

ListBox这似乎在初始化和应用样式和模板之前发生了一次或多次。对话框完成初始化后,错误停止。

有没有人遇到过这个?任何人都可以提出我们可能忽略的解决方案吗?

0 投票
3 回答
10468 浏览

wpf - ElementName=" 的区别“和RelativeSource自己?

通过名称进行绑定自引用与通过 RelativeSource 进行自引用之间有什么区别?

例如:

相对

在我的项目中,它们的行为似乎相同,但我直接在窗口中使用它们。这意味着我立即更喜欢前者,因为它打字更少。

RelativeSource 的唯一优势是它能够在(例如)广泛使用的样式中进行自我引用吗?还是有一些额外的语义差异?

0 投票
1 回答
2080 浏览

mvvm - 获取 ListView 祖先的 DataContext

我正在使用 MVVM 开发 WPF 应用程序,需要一些帮助。

对于我的 AddressesViewModel 的视图,我有一个带有列表视图的用户控件。我想从 listViewItem 的上下文菜单中执行在 AddressesViewModel 中找到的命令。因为我正在打开一个 ContextMenu,所以在可视化树中找不到它(我在某处读过)。

这是视图标记:

这是 ViewModel 类:

提前致谢

0 投票
6 回答
109347 浏览

wpf - WPF TemplateBinding 与 RelativeSource TemplatedParent

这两个绑定有什么区别:

?

0 投票
1 回答
2312 浏览

wpf - WPF RelativeSource 绑定问题

你好!我有一个扩展器和一个文本框。我想在扩展器展开时禁用文本框,并在未展开时启用。怎么做?我试过这样的事情:

但反之亦然。

0 投票
1 回答
23877 浏览

wpf - RelativeSource FindAncestor 问题

这是代码:

基本上我要做的是使标题中的 TextBlock 遵循整个列的宽度。

它不起作用:文本块的宽度始终与里面的文本匹配。有什么想法吗?...在​​此先感谢!

0 投票
4 回答
71317 浏览

wpf - WPF 数据绑定的“RelativeSource FindAncestor”究竟是做什么的?

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

有谁知道为什么简单

不工作?我得到的错误信息是:

System.Windows.Data 警告:4:无法通过引用“RelativeSource FindAncestor,AncestorType='System.Windows.Window',AncestorLevel='1'”找到绑定源。

编辑:我最终使用了 ArsenMkrt 方法的变体,所以接受了他的回答。但是,我仍然有兴趣找出 FindAncestor 不能“正常工作”的原因。

0 投票
1 回答
1333 浏览

wpf - 使用 PlacementTarget 的 WPF 组合框下拉菜单

我有一个ContentControl从左到右的 a Button,分区和 a ComboBox。我希望ComboBox下拉菜单与控件的左侧对齐,而不是ComboBox. 我收到了一个代码中的方法,但我想知道它是否可以在 xaml 中完成。

这给了我控件的名称:

但我想引用控件:

有什么想法吗?

0 投票
2 回答
807 浏览

wpf - WPF绑定到另一个对象的DependencyProperty?

我正在开发一个类似于 visio 的 WPF 应用程序。我希望能够对图表中的一些项目进行逻辑分组,每个项目都是一个 UIElement,并在组级别控制某些行为(即可见性)。

我的第一次尝试是创建一个控件,称为 Group,它的宽度和高度 = 0。我想通过他们的 group 属性为我的图表元素分配一个特定的“Group”,然后将某些 UIElement 属性绑定到该组值,如下:

尽管这不会引发绑定错误,但它也不起作用。更改组的可见性不会影响分配给该组的节点的可见性。据我所知,任何时候都不会出现错误,它只是不起作用。

有任何想法吗?我的方法可行吗?如果没有,任何人都有他们想建议的替代方案:)。我不是一个庞大的 UI 人,在服务层感觉更舒服,所以我对其他建议持开放态度。