问题标签 [findancestor]
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.
wpf - Styles and DataTemplates: FindAncestor-like search,包括 Self
我有一个包含表单的绑定表达式的样式
但是,有时运行此样式的 DataContext 实际上是 MyType 类型。在这种情况下, FindAncestor 没有做我想做的事:它从父级开始搜索。
在继续元素层次结构之前,是否有任何 {Binding ...} 咒语检查当前数据上下文的类型?我有其他特定于我的项目的解决方案,但 FindAncestor 是如此接近......
xml - XSL:当前节点和另一个特定节点之间的计数级别
我有以下 XML 结构:
我的问题是关于编号。上面的 XML 可以看作是一个嵌套列表。
编号的默认格式是“1.1.1”,level="multiple"。但如果列表嵌套第 4 次或更多次,则格式应更改为 '1',level="single"。
上述结构的期望输出将是:
在我看来,例如,如果我的当前节点是第一个节点,我需要计算我的当前节点和父节点之间有多少祖先。如果计算出的数字小于 4,则使用“1.1.1”作为列表项格式,否则使用“1”作为格式。
我现在尝试了几件事,但都没有奏效。我能够计算出当前节点一般有多少祖先,但这是计算完整的祖先树,直到特定节点“someSubNodeInXmlFile”。
这是否可以通过一个简单的 xpath 表达式来实现,或者我是否尝试使用从 current() 开始的递归模板来计算数字,如果需要,则查找每个下一个祖先,如果不是,则在数字上加一并继续下一个祖先?
我可以想象后一个想法不是很有效(如果它确实有效的话)。但是最好的解决方案是什么?
提前致谢。
BRgrds,延斯
c# - WPF Multibinding RelativeSource Findancestor 评估性能
在以下 MultiBinding 表达式的情况下,如果 PropB 多次更改,绑定引擎将搜索 DataGrid 祖先多少次?
如果 PropertyC(和它的路径)从未改变,它会只搜索一次吗?还是会在每次更改多重绑定中的属性之一时搜索祖先?假设每个属性都有更改通知。
wpf - (WPF) 如何在后面的代码中找到关于两个 ItemsControl 的祖先?
我有一个 ItemsControl(A)。ItemSourece 是一个“帐户”类。它包含一些控件和另一个 ItemsControl(B)。
ItemsControl(B) 包括一些 CheckBox。它的 ItemSourece 是包含在“Account”类中的 ObservableCollection。CheckBox 的内容绑定到内容。CheckBox 的 IsChecked 绑定到 IsChecked。
现在,当我单击 CheckBox 时,我想获取“帐户”类中的 ID 和用户,但我不知道如何获取它们。我已经尝试使用
但它仍然无法得到父母。尽管运行时可以显示 parentElement.VisualParent,但实际上它不起作用。
请帮我!谢谢!
c# - 如何在资源中使用绑定来避免错误?
如何在资源中使用绑定来避免错误?
我现在正在研究我的第一个 wpf 项目。我在以下控件Style
中Windows.Resource
加入了参考。
它运行良好,但是在应用程序启动时出现错误。
我确定错误是由于Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Button}, Path=Foreground, Mode=OneWay, Converter={StaticResource SingleValueDebugPrintConverter}}"
,在被其他控件引用之前,绑定Windows.Resource
没有祖先。
我这样做是否正确?错误是可以避免的吗?
更新#1
几个小时以来一直在研究类似的问题,但没有一个与我遇到的问题相符。
绑定目标需要是可视化树的一部分。资源字典中没有数据上下文。确切的修复将取决于您的场景细节。有关一般性建议,请参阅副本。——彼得·杜尼霍
Peter Duniho 的回答可能解释了为什么binding
inWindow.Resource
不起作用,但我找不到任何解决方法。ProxyElement
其他帖子中提到的技巧是绑定到DataContext
not Ancestor
。
更新#2
无论如何,我找到了正确的方法。使用TemplateBinding
而不是FindAncestor
.
感谢样式和模板 (WPF .NET)。Stackoverflow 确实需要先审查某人的问题,然后再将其作为duplicate
.