DataContextホスティングコントロールのをのに設定してみてくださいObject2。次に、直接バインドできますMyObject。これは役に立ちますか?もちろん、これはまだ変更を意味しMyCollection、再評価MyBooleanもトリガーします。MultiBinding
また、使用しているコンテキストを提供した場合にも役立ちますMultiBinding(つまり、この戻りテキストはTextBlock?
編集:
あなたのコメントに応えて、おそらく別の方法があります。3つのマルチバウンドプロパティに個別のPropertyChangedイベントがあると仮定します。MyCollectionアプリケーションで許可されている場合は、これらのイベントをMyBooleanプロパティからプロパティに移動できMyObjectます。例えば:
public object MyObject
{
get { ... }
set
{
...
OnPropertyChanged("MyObject");
OnPropertyChanged("MyCollection");
OnPropertyChanged("MyBoolean");
}
}
これはちょっとしたハックだとわかりましたが、これはのMultiBinding変更時にのみトリガーされますMyObject。
編集#2:
別のオプションはEventTrigger、ホスティングコントロールにを追加することです。次に例を示します。
<EventTrigger RoutedEvent="MyObject.TargetUpdated">
<Setter TargetName="yourCheckBox" Property="Value">
<Setter.Binding>
<MultiBinding Converter="{StaticResource MyConverter}">
<Binding Path="MyObject" />
<Binding Path="MyCollection" />
<Binding Path="MyBoolean" />
</MultiBinding>
</Setter.Binding>
</Setter>
</EventTrigger>
ここでの唯一のキャッチはMode=TwoWay、チェックボックスのバインドを確認することです。
このリンクを参照しました。