DataGrid的ItemsSource为ObservableCollection。 ParticipantViewModel具有名为ExpenseType,Currency等的属性。对于某些特定费用类型,参与者可以更改货币,这可以从名为IsCurrencyEnable的ParticipantViewModel的另一个属性确定。我将IsCurrencyEnable绑定到ComboBox IsEnabled属性。
但是它在MainViewModel中搜索IsCurrencyEnable而不是ParticipantViewModel。
如何绑定IsEnabled属性以便从ParticipantViewModel获取值?
感谢。
答案 0 :(得分:0)
这很可能是一个datacontext问题。您需要使用以下
进行绑定{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ControlTypeThatBindsToParticipantViewModel}},Path=DataContext.IsCurrencyEnable}
ControlTypeThatBindsToParticipantViewModel这是将其datacontext绑定到ParticipantViewModel的控件类型,可以是window,usercontrol等。
希望这有帮助