gpt4 book ai didi

wpf - 依赖属性来填充列表或数组

转载 作者:行者123 更新时间:2023-12-04 21:55:58 25 4
gpt4 key购买 nike

我有一个自定义控件。这有能力与其他几个控件一起做一些事情。我希望它有一个元素 NotifyControl,我可以在其中绑定(bind)一些其他控件,例如 NotifyControl="{Binding ElementName=controlA}"。这很好,但我想写下 n 控件。因此,可能是元素值中的列表或多次记录元素。喜欢

<MyControl NotifyControl="{Binding ElementName=a}" NotifiyControl="{Binding ElementName=b}" />

<MyControl NotifyControl="{Binding ElementName=a}, {Binding ElementName=b}" />

哪一个是可能的,如何实现?我没有遇到数组类型,也许我上面的符号是错误的。


编辑:

我现在有

<MyControl>
<MyControl.NotifyControls>
<NotifyControlWrapper View="{Binding ElementName=details}" Test="entry one" />
<NotifyControlWrapper View="{Binding ElementName=gauge}" Test="e2" />
</MyControl.NotifyControls>
</MyControl>
<OtherControl x:Name="details" />

NotifyControls 是一个 DependencyProperty 并填充了两个条目,因此这部分工作正常。 NotifyControlWrapper 的源只是一个派生自 DependencyObject 的类,具有两个依赖属性 View(类型 INotifyControl)和测试(类型String)。

正如我所说,我的列表有两个条目,其中有两个 NotifyControlWrapper。但是当 Test 包含给定的字符串时,Viewnull。为什么会这样或者如何调试?

最佳答案

你的问题中没有一个是可能的。您不能两次添加相同的属性,因此 #1 将不起作用。您不能添加两个绑定(bind),因此 #2 将不起作用。我会添加一个属性 NotifyControls 作为 List 类型。 NotifyControl 仍然可以作为单独的项目使用或添加到 NotifyControls 中的控件列表中。您可以在 Xaml 中添加项目:

<MyControl.NotifyControls>
<ControlWrapper Control="{Binding ElementName=a}"/>
<ControlWrapper Control="{Binding ElementName=b}"/>
</MyControl.NotifyControls>

ControlWrapper 将只有一个成员属性 Control,以便您可以指定绑定(bind)。

关于wpf - 依赖属性来填充列表或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848681/

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