Ho un DataGrid WPF. Ho letto un file CSV e ho creato una ObservableCollection di oggetti. Ho impostato DataGrid.ItemsSource sulla raccolta. Vorrei quindi forzare una RowValidation su ogni riga in DataGrid. Se io, giocando utente, modifica una cella, la RowValidation si attiva, tutto va bene. Ma la convalida non si attiva sul carico iniziale. C'è un modo in cui posso chiamare ValidateRow ?? di fila? su ogni fila? (C#, WPF, VS2008, ecc.)forzatura di convalida; WPF, DataGrid, ObservableCollection
7
A
risposta
2
Per i binding, impostare UpdateSourceTrigger su proprietà modificate e quindi inserire le regole di convalida al suo interno. Il trigger di origine dell'aggiornamento predefinito è Lost Focus.
<Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ExceptionValidationRule />
</Binding.ValidationRules>
</Binding>
Inoltre, per un'altra buona soluzione, date un'occhiata qui
http://www.codeproject.com/KB/WPF/wpfvalidation.aspx
Paul costruisce un provider di errore personalizzato, come
È possibile chiamare il metodo validate() sul l'ErrorProvider per forzare la convalida, e verificare se i controlli sono validi
1
dovrai impostare un RowValidationRule e impostare il ValidationStep = "ConvertedProposedValue" se si desidera per convalidare dopo il caricamento iniziale di ObservableCollection
<DataGrid Name="dgCsvObjects"
ItemsSource="{Binding Path=CsvObjects}"
AutoGenerateColumns="False">
<DataGrid.RowValidationRules>
<Validation:MyObjectValidationRule ValidationStep="ConvertedProposedValue" />
</DataGrid.RowValidationRules>
<DataGrid.Columns>
<DataGridTextColumn Header="Property1" Binding="{Binding Path=Property1}" />
<DataGridTextColumn Header="Property2" Binding="{Binding Path=Property2}" />
<DataGridTextColumn Header="Property3" Binding="{Binding Path=Property3}" />
<DataGridTextColumn Header="Property4" Binding="{Binding Path=Property4}" />
</DataGrid.Columns>
</DataGrid>
Problemi correlati
- 1. WPF DataBinding ObservableCollection <T> al DataGrid
- 2. Aumentare WPF prestazioni ObservableCollection
- 3. Modifica WPF Datagrid Row Colore
- 4. Si tratta di un bug Datagrid WPF?
- 5. WPF DataGrid ComboBox causa InvalidOperationException
- 6. IsSelected Legatura in WPF DataGrid
- 7. WPF ComboBox Associazione a ObservableCollection
- 8. Binding ObservableCollection per WPF ListBox
- 9. Modello di controllo DataGrid WPF
- 10. Associare una ObservableCollection a un datagrid wpf: La griglia rimane vuota
- 11. WPF ToolKit DataGrid Performance
- 12. Seleziona tutto WPF DataGrid
- 13. Prestazioni Datagrid WPF
- 14. Migliora prestazioni DataGrid WPF
- 15. Datagrid modificabile in WPF
- 16. WPF Numero riga Datagrid
- 17. WPF DataGrid filter
- 18. WPF DataGrid SelectedItem
- 19. WPF datagrid incollando
- 20. colonna combobox datagrid wpf
- 21. WPF Datagrid Row Modifica evento "ENDED"
- 22. Errore di convalida riga DataGrid WPF non cancellato dopo la modifica
- 23. WPF DataGrid singolo clic per creare un nuovo articolo
- 24. Associazione WPF filtrata ObservableCollection ICollectionView a Combobox
- 25. WPF Datagrid set riga selezionata
- 26. Wpf DataGrid aggiunta nuova riga
- 27. DataGrid WPF: Cancella ordinamento colonna
- 28. WPF DataGrid: riordino delle righe?
- 29. scorrimento liscio per WPF DataGrid
- 30. StringFormat personalizzato in WPF DataGrid