0

我的场景:

我有一个带有一些列的 Telerik Silverlight RadGridView,其中之一是

<telerik:RadGridView x:Name="Grid1" DataContext="{StaticResource ViewModelDailyReport}" IsSynchronizedWithCurrentItem="True" ScrollMode="RealTime"  AutoGenerateColumns="false" ItemsSource="{Binding LogBookItems}" IsReadOnly="false"   Visibility="Visible" >
[...]
<telerik:GridViewComboBoxColumn
                Header="My Activity"
                DataMemberBinding="{Binding Activity.ID, Mode=TwoWay}"
                SelectedValueMemberPath="ID"
                DisplayMemberPath="Name"
                ItemsSource="{StaticResource ViewModelActivities}">
</telerik:GridViewComboBoxColumn>
[...]

所以我在 ViewModel 中的项目集合上有一个双向绑定。

一切正常,除非我插入一个新项目(使用 RadGrid BeginInsert 命令):当用户从下拉列表中选择一个项目时,它在单元格中始终为空白...

绑定的集合有一个新项目(在插入事件中),但无法将新添加的项目与组合框绑定。

诀窍是什么?

谢谢

4

1 回答 1

0

确保 LogBookItem 类中有一个默认构造函数。

在默认构造函数中,您可以初始化默认值并创建一个新的 Activity 实例,因为您绑定到它的 ID。

public LogBook()
{
 //initialize default values
 this.CreationDate = DateTime.UtcNow;
 this.Activity = new Activity(); //Activity.ID will equal 0
}
于 2011-12-30T22:53:01.070 回答