我在WPF中使用Caliburn Micro,并且我将BindableCollection绑定到数据网格。可绑定集合是嵌套属性。 从数据库填充数据时,绑定按预期工作。 但是当我手动编辑数据网格中的值时,更改未反映在模型中。 (在datagrid中更改值时,模型不会更新。)。
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public BindableCollection<Subject> Subjects;
}
public class Subject
{
public string Title{ get; set; }
}
<UserControl x:Class="CalCompose.ViewModels.PersonView" ...ommited... >
<Grid Margin="0">
<TextBox x:Name="Person_Id" HorizontalAlignment="Left" Height="23" Margin="10,52,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="Person_Name" HorizontalAlignment="Left" Height="23" Margin="10,90,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<DataGrid ItemsSource="{Binding Person.Subjects, Mode=TwoWay}" Margin="10,177,0,0"></DataGrid>
</Grid>
</UserControl>
我在这里遗漏了什么? 我想PropertyChanged通知不会发送回Person.Subjects。 谁能建议我一个简单的解决方案来克服这个问题?提前致谢。