Ho bisogno di avere un tipo di evento Sorted
per un DataGrid
in un'applicazione WPF ma non riesco a trovare un modo per ottenerlo.Come posso essere avvisato se una colonna DataGrid è ordinata (e non ordinata)
Ecco cosa ho provato:
Il DataGrid
fornisce un evento Sorting
, ma non posso usarlo come viene generato prima l'ordinamento è fatto. Il EventArgs
mi fornisce la colonna che è ordinata ma non il modo in cui è ordinata e se ottengo la direzione di ordinamento è impostata sul vecchio valore. Certo, potrei indovinare quale sarà, come so che passa da nessuno ad ascendere e infine a scendere, ma non sarebbe una soluzione in quanto fallirebbe se il comportamento del controllo dovesse cambiare.
secondo tentativo:
Il DataGrid
ha una visualizzazione predefinita che fornisce l'accesso ad un SortDescriptionCollection
. Questa raccolta contiene tutte le proprietà di smistamento, ma non vedo alcuna possibilità di informarmi sui cambiamenti.
devo dire che sto cercando una soluzione più pulita possibile in quanto verrà utilizzato in un grande progetto su cui non posso usare soluzioni che potrebbero fallire se cambia l'ambiente.
Qualcuno sa per esperienza (o la documentazione?) Come potrei risolvere questo problema?
Edit: Per rendere più chiaro ciò che voglio raggiungere: ho bisogno di essere informato che DataGrid
colonna viene ordinata in quale direzione quando un utente sorta una colonna. Non è necessario che queste informazioni arrivino dopo lo smistamento stesso, ma deve essere corretto;)
Questa è davvero una soluzione del genere. SortDirection cambia nel momento in cui fai clic su Ordina. L'ordinamento effettivo potrebbe richiedere molto più tempo, non si ha alcuna garanzia che la soluzione venga avviata esattamente dopo che l'ordinamento è terminato. – Houman
Quindi hai un'altra idea? Per me questo va bene poiché utilizzo le informazioni per memorizzarle in un file di configurazione per l'avvio successivo dell'applicazione. I tempi non contano molto. Nondimeno, come ho scritto, non sono completamente soddisfatto di questo, quindi sarei felice dei suggerimenti. – MatthiasG