如何在Xaml中将对象绑定到DataGridRow?

时间:2013-06-12 17:03:17

标签: wpf data-binding mvvm viewmodel wpfdatagrid

DataGrid的ItemsSource为ObservableCollection。 ParticipantViewModel具有名为ExpenseType,Currency等的属性。对于某些特定费用类型,参与者可以更改货币,这可以从名为IsCurrencyEnable的ParticipantViewModel的另一个属性确定。我将IsCurrencyEnable绑定到ComboBox IsEnabled属性。

但是它在MainViewModel中搜索IsCurrencyEnable而不是ParticipantViewModel。

如何绑定IsEnabled属性以便从ParticipantViewModel获取值?

感谢。

1 个答案:

答案 0 :(得分:0)

这很可能是一个datacontext问题。您需要使用以下

进行绑定
{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ControlTypeThatBindsToParticipantViewModel}},Path=DataContext.IsCurrencyEnable}

ControlTypeThatBindsToParticipantViewModel这是将其datacontext绑定到ParticipantViewModel的控件类型,可以是window,usercontrol等。

希望这有帮助