Проблема 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
}