WPF Error : Additional information: ‘EditItem’ is not allowed for this view.

In una maschera WPF si è creata una visualizzazione tramite datagrid di alcuni dati memorizzati in un database:

...
<Window.Resources>
        <CollectionViewSource x:Key="tmpViewSource" d:DesignSource="{d:DesignInstance {x:Type Models:tmpModel}, CreateList=True}"/>
</Window.Resources>
...
<DataGrid x:Name="tmpDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" 
          ItemsSource="{Binding Source={StaticResource tmpViewSource}}" Margin="10,48,10,10" RowDetailsVisibilityMode="VisibleWhenSelected" >
            <DataGrid.Columns>
                <DataGridTextColumn x:Name="firstColumn" Binding="{Binding firstCol}" Header="H1" Width="1*"/>
                <DataGridTextColumn x:Name="secondColumn" Binding="{Binding secondCol}" Header="H2" Width="3*" />
                <DataGridTextColumn x:Name="thirdColumn" Binding="{Binding thirdCol}" Header="H3" Width="SizeToHeader" Visibility="Hidden"/>
            </DataGrid.Columns>
</DataGrid>
...

Nel Codice, viene usata la seguente sintassi per popolare il grid con i dati:

...
System.Windows.Data.CollectionViewSource tab_FascicoliViewSource;
...
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            db = new dbEntities();
            tmpViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("tmpViewSource")));
            tmpViewSource.Source = db.Tab_Fascicoli.ToList().OrderBy(Tab_Fascicoli => Tab_Fascicoli.NroFascicolo);
         }
...

Durante la personalizzazione di una visualizzazione di dati all’interno di una maschera WPF si può verificare l’errore sotto riportato:

Additional information: ‘EditItem’ is not allowed for this view.

Additional information EditItem is not allowed for this view

che è una popup del più generico

Additional information EditItem is not allowed for this view 2

Il problema viene risolto se, ovviamente, nel code behind invertiamo ToList() con OrderBy(…):

...
tab_FascicoliViewSource.Source = db.Tab_Fascicoli.OrderBy(Tab_Fascicoli => Tab_Fascicoli.NroFascicolo).ToList();
...

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Non sono una macchina... *