wpf - Which has the responsibility to sort the items in MVVM pattern and a DataGrid? -


i have datagrid in wpf application use mvvm pattern.

the datagrid can sort row if click in column name , can order many columns if use shift key. control gives need.

however, notice when have sorted rows , add new element, new element add last element in observable collection in view model, in datagrid show in position element has according sort criterion.

so in view model try select new element. index of last element of observalbecollection, select incorrect element in datagrid, last element shown, not new element.

in post seems 1 solution use collectionviewsource, if not wrong, in case need implement in view model code sort elements, more code when datagrid work.

this makes me ask has responsibility sort elements? view model or view? because if implent sort in view model, view model needs know exists datagrid clicked in column name , sort elements. think sort elements visual, view model not need work, perhaps wrong.

how solve problem?

when put data collection control in wpf (using mvvm), bind collection itemssource property as as selecteditem or selecteditems properties, depending on selectionmode of control.

this enables me find out item(s) is/are selected and choose whichever (data) item want selected view model.

if order user sets in datagrid important, perform sorting view model, if important user while work, can ignore order... remember, can access selected item through bound selecteditem property in view model.


Comments