【发布时间】:2011-07-27 17:33:09
【问题描述】:
我有一个自定义控件。这有能力与其他几个控件一起做某事。我希望它有一个元素NotifyControl,我可以在其中绑定一些其他控件,例如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)和Test(类型String)。
正如我所说,我的列表有两个条目,两个 NotifyControlWrapper。但是虽然Test 包含给定的字符串,但View 是null。为什么会这样或如何调试?
【问题讨论】:
-
不太清楚您要做什么,但在我看来应该涉及 ObservableCollection?
-
不是那样的,因为运行时没有变化。但是我在不同的窗口中重复使用该控件,并且每次它都应该突出显示一个或多个其他控件。它适用于
NotifyControl1="{Binding ElementName=a}" NotifyControl2="{Binding ElementName=b}",但这不像任何好的编程。
标签: wpf xaml dependency-properties