次のコードがあります。
<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" という名前のプロパティ (local:StaffAtMeetingEditor コントロールの DataContext として設定されます) があり、それ自体に "ParentSI" というメンバーがあり、親 SIP_ServiceItem オブジェクトを指しています。
問題は、これを 1 つのバインドとして渡す (つまり、上記のコードから MultiBinding の開始タグと終了タグを削除し、Binding だけを残す) と、問題なく動作することです。しかし、これを MultiBinding にし (これに他のバインディングをすぐに追加したい)、バインドされた値を myMeetingLogEditableMultiConverter に渡そうとすると、ブール値の ParentSI.ItemInEditMode に対応するはずの values(0) パラメータが実際にはMS.Internal.NamedObject、どこかに null 参照があることを意味します。さらに、ParentSI プロパティは評価されないため、何かが完全に間違っています。シングルバインディングとマルチバインディングの違いがわかりません。
ありがとう。