ここは私の状況です。私はViewとViewModelを持っています。ビューのDataContextはViewModelに設定されます。サードパーティのコントロールを使用しているため、コードビハインドにいくつかのコードを記述する必要があります。コードビハインドでは、StraightConnectorToolというオブジェクトを作成します。ビューがViewModelにバインドされているときにコントロールをバインドしますか?
私のビューでは、このオブジェクトにバインドする必要があります。ビューのDataContextがコードビハインドで設定されている場合:
DataContext = this;
次のバインドは正常に機能します。
<BarItemToolBehavior ActiveTool="{Binding ActiveTool, ElementName=diagram, Mode=TwoWay}"
Tool="{Binding StraightConnectorTool}"/>
ここで、diagramはビューのサードパーティコントロールの名前で、ActiveToolはそのプロパティの1つです。
ただし、ViewのDataContextがViewModelに設定されている場合、バインディングは機能しません。 DataContextがViewModelに設定されているときに、ビューにバインドする方法を理解しようとしています。何か案は?
'this.DataContext = this;'はWPF MVVMのがんです。 [この記事ではその理由を説明します](http://blog.scottlogic.com/2012/02/06/a-simple-pattern-for-creating-re-useable-usercontrols-in-wpf-silverlight.html)それはちょっと長いが、化学療法もそうであることに注意してください。 – Will