DependencyProperty
が相続財産を持っているので、あなたがUserControlDPのDataContextのを設定しない場合は、DataContextのは、メインウィンドウのDataContextのから継承されます。この場合、下のコードのUserControlDPのDataContextはMainWindow_ViewModel
と設定されています。したがって、バインディングは正しく実行されます。他の場合には
<usercontrol:UserControlDP Width="200" Height="100"
TestValue="{Binding TestValueApp, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}"
Margin="152,54,151,157"></usercontrol:UserControlDP>
、UserControlDPのDataContextのはUserControlDP_ViewModelとして設定され、そう結合が破壊されます。最初の例外メッセージは、デバッグウィンドウで次のように表示されます。
System.Windows.Data Error: 40 : BindingExpression path error: 'TestValueApp' property not found on 'object' ''UserControlDP_ViewModel' (HashCode=24672987)'. BindingExpression:Path=TestValueApp; DataItem='UserControlDP_ViewModel' (HashCode=24672987); target element is 'UserControlDP' (Name=''); target property is 'TestValue' (type 'Object')
外部サイトへのリンクを投稿するのではなく、問題を示す簡単なコードサンプルを投稿すると、より多くのヘルプが得られます。 –