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