まあ言ってみれば、
IsDropDownOpen = {Binding IsDropDownFromViewModel}
また、ゲッターがIsDropDownFromViewModel
ドロップダウンを開くためのすべての条件を包含していると仮定すると、常に正しいドロップダウン状態が返されます。
PropertyChanged
あとは、ドロップダウンが開いているはずなのに閉じている、またはその逆の場合はいつでも、このプロパティのイベントを発生させるだけです。
残念ながら、正確なシナリオはわかりませんでしたが、これが事実であると仮定しましょう(問題が何であれ、同様のアプローチを使用して修正する必要があります)。
シナリオ例:
アイテムを選択するとドロップダウンが閉じます。開いたままにすることを意図しています
上記の場合、ユーザーが項目を選択すると、selectedItem の対応するバインディング プロパティのセッターが呼び出される必要があるため、通知コードを記述します。
public SelectedItemType SelectedItemInViewModel {
get{
return _selectedItemVM;
},
set{
_selectedItemVM=value;
NotifyPropertyChanged("IsDropDownFromViewModel");
}
}
これが何をするかというと、radComboBox のIsDropDownOpen
プロパティに、RHS のバインド式を再評価して新しい値を取得するように指示します。
コメントを残していない場合は、アプローチの要点を理解してください。