Проблема Silverlight Telerik GridViewComboBoxColumn при вставке

Мой сценарий:

У меня есть 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>
[...]

Итак, у меня есть привязка TwoWay к коллекции элементов в ViewModel.

Все работает нормально, кроме случаев, когда я вставляю новый элемент (с помощью команды RadGrid BeginInsert): когда пользователь выбирает элемент из выпадающего списка, он всегда пуст в ячейке...

В связанной коллекции есть новый элемент (при событии вставки), но нет возможности связать вновь добавленный элемент с помощью выпадающего списка.

В чем подвох?

Спасибо

1 ответ

Убедитесь, что у вас есть конструктор по умолчанию в классе LogBookItem.

В конструкторе по умолчанию вы можете инициализировать значения по умолчанию, а также создать новый экземпляр Activity, поскольку вы привязываетесь к его идентификатору.

public LogBook()
{
 //initialize default values
 this.CreationDate = DateTime.UtcNow;
 this.Activity = new Activity(); //Activity.ID will equal 0
}
Другие вопросы по тегам