我有以下代码:MultiBinding没有工作,但相应的绑定没有工作
<local:StaffAtMeetingEditor DataContext="{Binding Meeting}" Grid.Row="1">
<local:StaffAtMeetingEditor.InEditMode>
<MultiBinding Converter="{StaticResource myMeetingLogEditableMultiConverter}">
<Binding Path="ParentSI.ItemInEditMode"/>
</MultiBinding>
</local:StaffAtMeetingEditor.InEditMode>
</local:StaffAtMeetingEditor>
的设置是,包含控制的数据类型是“SIP_ServiceItem”。这个类有一个名为“Meeting”的属性(它被设置为本地的DataContext:StaffAtMeetingEditor控件),它本身有一个名为“ParentSI”的成员,指向父SIP_ServiceItem对象。
的问题是,如果我通过这通过一个单一的结合(即从代码中删除的开始和结束MultiBinding标签上面,只留下绑定),它工作得很好。但是,当我让一个MultiBinding(我想一些其他的绑定添加到此不久),并尝试通过对myMeetingLogEditableMultiConverter通过绑定的值,该值(0)参数,它应该对应于布尔ParentSI.ItemInEditMode实际上是一个是MS.Internal.NamedObject,意味着有一个空引用。此外,ParentSI属性从未被评估,所以有些事情完全错误。我不知道单绑定和多绑定情况之间的区别。
谢谢。
您好,感谢您的提示,但我不认为这是问题 - 我最初有几个输入到多转换器,它仍然是不工作(所以为什么我又缩减为一个,为了简单起见)。 我的问题似乎是与此类似:http://stackoverflow.com/questions/3701732/cant-access-datacontext-in-multivalueconverter,但我看不出一个解决方案,在这种情况下工作。 – 2011-03-14 11:48:12