I have run into an issue with a runtime error when trying to edit a textbox in a datagrid.
"EditItem Not allowed for this view" I think this means that somewhere along the lines it has lost the connection back to the object but I am not sure.
Then I have a comboBox as followsCode:private ObservableCollection<Model.TextureProperties> AllTextureProperties; public ObservableCollection<Model.TextureProperties> _allTextureproperties { get{ return AllTextureProperties;} set{ AllTextureProperties=value; OnPropertyChanged("_allTextureProperties"); } } public CourseAssetListViewModel(CourseRepository courseRepository) { if (courseRepository == null) { throw new ArgumentNullException("courseRepository"); } _courseRepository = courseRepository; this.AllTextureProperties = new ObservableCollection<Model.TextureProperties>(_courseRepository.GetTextureProperties()); //this.Textures = (ListCollectionView) CollectionViewSource.GetDefaultView(this.AllTextureProperties); //Textures.Filter this.Textures = new CollectionViewSource(); this.Textures.Source = (from z in this.AllTextureProperties select z.TextureName); this.SubTextures = new CollectionViewSource(); this.SubTextures.Source = (from j in this.AllTextureProperties select j); }
And a DataGridCode:<ComboBox Name="subtextureselection" HorizontalAlignment="Stretch" ItemsSource="{Binding Textures.View}" IsEditable="False" Height="23" IsSynchronizedWithCurrentItem="True" Width="123"> <ComboBox.ItemTemplate> <DataTemplate> <StackPanel DataContext="{Binding}"> <TextBlock Text="{Binding}"/> </StackPanel> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox>
The comboBox displays a list of textures and on selection the datagrid populates with a new set of texture values, however as soon as I try to edit any of them in the textbox I get this crash. Can anyone see what I am doing wrong?Code:<DockPanel Grid.Row="2" Height="84" HorizontalAlignment="Stretch" Name="dockPanel4" VerticalAlignment="Stretch" > <DataGrid ItemsSource="{Binding SubTextures.View}" IsSynchronizedWithCurrentItem="True" > <DataGrid.Columns> <DataGridTextColumn Header="Lie Angular" Binding="{Binding Path=LieAngular}" /> <DataGridTextColumn Header="Lie Snap Angular" Binding="{Binding Path=LieSnapAngular}"/> <DataGridTextColumn Header="Lie Power" Binding="{Binding Path=LiePower}"/> <DataGridTextColumn Header="Lie Snap Power" Binding="{Binding Path=LieSnapPower}"/> <DataGridTextColumn Header="Restitution" Binding="{Binding Path=Restitution}"/> <DataGridTextColumn Header="Friction" Binding="{Binding Path=Friction}"/> <DataGridTextColumn Header="Viscosity" Binding="{Binding Path=Viscosity}"/> <DataGridTextColumn Header="Maleability" Binding="{Binding Path=Maleability}"/> <DataGridTextColumn Header="Roll Friction" Binding="{Binding Path=RollFriction}"/> <DataGridTextColumn Header="Roll Threshold" Binding="{Binding Path=RollThreshold}"/> <DataGridTextColumn Header="Impact Offset" Binding="{Binding Path=ImpactOffset}"/> <DataGridTextColumn Header="Angle Miss" Binding="{Binding Path=AngleMiss}"/> <DataGridTextColumn Header="Power Miss" Binding="{Binding Path=PowerMiss}"/> <DataGridTextColumn Header="Snap" Binding="{Binding Path=Snap}"/> </DataGrid.Columns> </DataGrid> </DockPanel>
Thanks


Reply With Quote
Bookmarks