gpt4 book ai didi

c# - 在 XAML 属性声明中绑定(bind)到父级?

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:59 24 4
gpt4 key购买 nike

我试图在 XAML“属性 setter ”中绑定(bind)到属性。在此位置的绑定(bind)似乎与“正常”位置的绑定(bind)不在同一层次结构中。有谁知道如何在那里绑定(bind)东西?

我也尝试过使用 RelativeSource 获取父级(这更好,因为那是我真正想要做的,而不是复制它)但没有骰子。

<loc:MyType Target="{Binding ElementName=Editor, Path=TextArea, Converter={loc:EditorAdapterConverter}}">
<loc:MyType.PopupActions>
<loc:BackspaceHideAction Target="{Binding ElementName=Editor, Path=TextArea, Converter={loc:EditorAdapterConverter}}" /> //Binding doesn't work
<loc:KeyAction Action="Show" Key="Space" Modifiers="LeftCtrl" />
<loc:KeyAction Action="Hide" Key="Escape" />
</loc:MyType.PopupActions>
</loc:MyType>

相关信息:BackspaceHideAction继承自 FrameworkElement并且有一个名为 Target 的依赖属性(实际上与 MyType 相同)。我需要访问这个 Target也在 BackspaceHideAction - 它实际上也不一定是 DP 属性。

MyType.PopupActions是声明为 PopupActionList : List<PopupAction> 的 MyType 的依赖属性.

我目前假设我无法绑定(bind)的原因是我嵌套在属性实例化中。类似的绑定(bind)在其他地方也有效(只是上面一行)所以绑定(bind)的类型不应该是问题。只是上下文。

最佳答案

做了一些进一步的测试,我发现了为什么它不起作用。

MyType 上的依赖属性 PopupActions 被声明为 PopupActionList - 没什么特别的。但是属性不会自动输入到 WPF 元素的“DOM”类结构中,这并不奇怪(一如既往地弄清楚之后)。

但是,添加一些代码来调用 MyType.AddLogicalChild 并将每个单独的 PopupAction 作为项目,一切正常! (到目前为止)

关于c# - 在 XAML 属性声明中绑定(bind)到父级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10642249/

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