Xamarin.forms: [рдкреНрд░рд╕реНрддрд╛рд╡] CollectionViewSource рд▓рд╛рдЧреВ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдорд╛рд░реНрдЪ 2018  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: xamarin/Xamarin.Forms

рд╡рд┐рд╡рд░рдг

рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдФрд░ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЬреИрд╕реА рдореБрдЦреНрдп рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЖрдзрд╛рд░рд┐рдд рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдХрд▓реЗрдХреНрд╢рди рд╡реНрдпреВрд╕реЛрд░реНрд╕ рдирд╛рдордХ рдПрдХ рд╡рд░реНрдЧ рд╣реИред Xamarin рдкреНрд░рдкрддреНрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред INotifyCollectionChanged рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЙрдбрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпреВрдЖрдИ рдХреЛ рдЖрдЗрдЯрдо рдХреА рд╕реВрдЪреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдлрд╝ рдХрд┐рдП рдмрд┐рдирд╛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЬрд╡рд╛рдмрджреЗрд╣реА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред

CollectionViewSource рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рднреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ INotifyCollectionChanged рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ, рдФрд░ INotifyCollectionChanged рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рднреА рд╣реИред рдЬрдм CollectionViewSource рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реНрд╡рдпрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрдореЛрдмреЗрд╢ рдПрдХ рд╣реИрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ListView рдореЗрдВ рдпрд╣ рдЧреБрдг рд╣реИ (https://developer.xamarin.com/api/property/System.Windows.Forms.ListView.Sorting/)ред

CollectionViewSource рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рдЧреНрд░реБрдкрд┐рдВрдЧ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдореВрд░реНрддрддрд╛ рдХреА рдПрдХ рдкрд░рдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдг рдХреЛ CollectionViewSource рдХреНрд▓рд╛рд╕ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЙрд╕ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХрд┐рд╕реА рджреА рдЧрдИ рд╕реВрдЪреА рдХреА рдЫрдБрдЯрд╛рдИ рд╕реЗ рдХреБрдЫ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЙрдбрд▓ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрднреА рднреА CollectionViewSource рдХреЗ рд╕рд╛рде рдЫрдБрдЯрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ CollectionViewSource рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЙрдбрд▓ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

рдПрдХреНрд╕рдПрдл рдЯреВрд▓рдХрд┐рдЯ рдЬреИрд╕реЗ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдФрд░ рдкрд┐рдХрд░ рдЖрджрд┐ рдореЗрдВ рдХрдИ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рд╢рд╛рдпрдж рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбреНрд╕ рдХреЗ рд▓рд┐рдП рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирдХ рдПрдХреНрд╕рдПрдл рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рд┐рдВрдХрдлрд╝реНрдпреВрдЬрд╝рди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЬреИрд╕реЗ рддреГрддреАрдп рдкрдХреНрд╖ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рдорд╛рдирдХ Microsoft рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдорд╛рдирдХ Xamarin рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВред

рдПрдордПрд╕рдбреАрдПрди рд▓реЗрдЦ
https://msdn.microsoft.com/en-us/library/system.windows.data.collectionviewsource (v=vs.110).aspx

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдирдореВрдиреЗ
https://github.com/Microsoft/WPF-Samples/tree/master/Data%20Binding/CollectionViewSource

рдПрдХ рд▓реЗрдЦ:
https://www.hanselman.com/blog/CollectionViewSourceIsCrazyUsefulForBindingToFilteredObservableCollectionsOnWindowsPhone8.aspx

collectionview high impact proposal-open enhancement тЮХ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕рдХреА рдирд┐рддрд╛рдВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рднреА 20 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ListViews, Pickers рдФрд░ рдХреБрдЫ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА INCC рдИрд╡реЗрдВрдЯреНрд╕ рдХреЛ рд╕реБрдирддреЗ рд╣реИрдВ

@StephaneDelcroix , рдпрд╣ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реИ - рдЬреИрд╕рд╛ рдЙрдиреНрд╣реЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рд╡рд╣ рдорд╛рдирдХ INotifyCollectionChanged рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдлреА рдКрдкрд░ рд╣реИред рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ, INCC рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рдЗрдирд▓рд╛рдЗрди рдЫрдБрдЯрд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ ObservableCollection<> рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдареАрдХ рд╣реИ, рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рдмрдмрд▓ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди Enumerable.OrderBy(TSource, TKey) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рдирдП IEnumerable рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рд╡реИрд╕реЗ рднреА рдкреВрд░реНрдг рд░реАрдлреНрд░реЗрд╢ рдХрд╛ рдХрд╛рд░рдг рдмрди рдЬрд╛рдПрдЧрд╛ред

рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореИрдВрдиреЗ рдЕрднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CollectionViewSource рд╣рдореЗрд╢рд╛ XAML рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рд╣рдореЗрдВ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЛрд▓реЗрдХреНрд╢рди <> рдЬреИрд╕реА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИред CollectionViewSource рдХреЗ рдмрд┐рдирд╛, XF рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЧрд╛рдпрдм рд╣реИ рдЬреЛ рдЕрдиреНрдп XAML рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдорд╛рдирдХ рдЖрддрд╛ рд╣реИред

рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЧреНрд░реБрдкрд┐рдВрдЧ рдкрд░ рднреА рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдЗрд╕рдХреЗ рдмрд┐рдирд╛, SyncFusion рдЬреИрд╕реЗ рддреГрддреАрдп рдкрдХреНрд╖ рдирд┐рдпрдВрддреНрд░рдг рд╕рд╣рд┐рдд рд╕рднреА XF рдирд┐рдпрдВрддреНрд░рдг рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдкрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдорд╛рдирдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ рдмрд╛рдж рд╕реЗ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ред

рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, рдореЗрд░реЗ рдорд╛рд▓рд┐рдХ рд▓рдЧрд╛рддрд╛рд░ рдореБрдЭ рдкрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рдЫрдБрдЯрд╛рдИ, рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рд╕рдореВрд╣реАрдХрд░рдг рдЖрджрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рджрдмрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрдВрд╢рд┐рдХ рд╕рдорд╛рдзрд╛рди рджрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдФрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рд╕рд┐рдВрдХрдлрд╝реНрдпреВрдЬрд╝рди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкреНрд░рддрд┐рдорд╛рди рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рдордп-рд╕рдордп рдкрд░, рд╣рдордиреЗ рдЗрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдЖрджрд┐ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

CollectionViewSource XAML рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдерд╛рди рдХреА рдПрдХ рдореВрд▓рднреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЖрдИрдПрдирд╕реАрд╕реА!= рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рд╕реНрд░реЛрдд

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ CollectionViewSource рд▓рд┐рдЦрдиреЗ рд╕реЗ рдХреЛрдИ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ?

рдПрдХрдорд╛рддреНрд░ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рд╣реИ рд░рд┐рд╕реЛрд░реНрд╕ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рдмрд╛рдЗрдВрдбреЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдЖрдмрджреНрдз рд╣реЛрдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ

рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдорд╛рдирдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛

рдЖрдк рдХрд┐рд╕ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдПрдХреНрд╕рдПрдПрдордПрд▓ рдиреЗ CollectionViewSources рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд▓рд┐рдпрд╛ рд╣реИ?

рдЖрдк рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрджрд┐ рдЖрдк рдПрдХ ObservableCollection<> рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ .. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╕реВрдЪреА, рдбрд╛рдпрдирд╛рдорд┐рдХрдбреЗрдЯрд╛, рдФрд░ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рд╕реНрд░реЛрдд рдЗрд╕реЗ ICollectionView рдХреЗ рд╕рд╛рде рднреА рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрд░реЛрдд рд╕реВрдЪреА рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕реНрд░реЛрдд рд╕реВрдЪреА рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЫреЛрдЯреЗ рдЕрдкрдбреЗрдЯ рдмрд╕ рд╕рд┐рдВрдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдмрдбрд╝реЗ рдЕрдкрдбреЗрдЯ рд╕рд┐рд░реНрдл рд░реАрд╕реЗрдЯ рдФрд░ рд░рд┐рдлреНрд░реЗрд╢ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдЧреИрд░ рд╕реНрдЯрд╛рд░реНрдЯрд░ рд╣реИ рд▓реЗрдХрд┐рди
https://github.com/RolandPheasant/DynamicData
рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ рдФрд░ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдХрднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ

рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдЦреБрд▓рд╛ рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЙрддреНрд╕реБрдХ рд╣реВрдВред

@StephaneDelcroix

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдкрдирд╛ CollectionViewSource рд▓рд┐рдЦрдиреЗ рд╕реЗ рдХреЛрдИ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ?

рдХрдХреНрд╖рд╛ рдХреЗ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдпрд╛рдиреА рдХреНрд▓рд╛рд╕ рдХреЛ рдЦреБрдж рд╣реА рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЧреНрд░реБрдкрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рд╛рдВ, рд╣рдо рдЦреБрдж рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдпрд╣ рд╕рдореАрдХрд░рдг рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЫрдБрдЯрд╛рдИ, рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЖрджрд┐ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреЙрд▓рдо рдХреЗ рд╣реЗрдбрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдФрд░ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдореЗрдВ, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбреНрд╕ рдХрд▓реЗрдХреНрд╢рди рд╡реНрдпреВрд╕реЛрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдХреЙрд▓рдо рджрд░ рд░рд┐рд╕реЙрд░реНрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред Xamarin рдкреНрд░рдкрддреНрд░реЛрдВ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд┐рдВрдХрдлреНрдпреВрдЬрди рдЬреИрд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдиреЗ рдЕрдкрдирд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд▓рд┐рдЦрд╛ рд╣реИред рдЙрдирдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдорд╛рдирдХ Microsoft CollectionViewSource рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЙрдирдХреЗ рд╕рднреА рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рдЙрдирдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдЙрдирдХреА рдЫрдБрдЯрд╛рдИ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрдирдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВред рднрд▓реЗ рд╣реА рд╣рдордиреЗ CollectionViewSource рдХрд╛ рдЕрдкрдирд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛ рд╣реЛ, рдлрд┐рд░ рднреА рд╣рдореЗрдВ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ CollectionViewSource рдкрд░ рд╕реЙрд░реНрдЯ рдХреЙрд▓рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

Xamarin рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдФрд░ рдкрд┐рдХрд░ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рд╣рдордиреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ (рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреНрд▓рд╛рд╕) рдкрд░ CollectionViewSource рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдмрдирд╛рдпрд╛ рд╣реИред рд╣рдордиреЗ рдмрдЯрдирдмрд┐рд╣реЗрд╡рд┐рдпрд░ рдмрдирд╛рдП рд╣реИрдВ рдЬреЛ рд╕рдВрд▓рдЧреНрди рд╣реЛрдиреЗ рдкрд░, рдордзреНрдпрд╡рд░реНрддреА рд╡рд░реНрдЧ рдкрд░ рд╕реЙрд░реНрдЯ рдХреЙрд▓рдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмреЗрд╕ рд▓реЗрд╡рд▓ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд░реНрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИред рдЕрдиреНрдп XAML рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ, CollectionViewSource рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЛрдВ рд╕реЗ рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг, рд╡реНрдпрд╡рд╣рд╛рд░, рдЖрджреЗрд╢ рдЖрджрд┐ рдХрд╛ рдПрдХ рд╕реВрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдХреНрд╢рди рд╢реАрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдореЛрдВ (рдЙрдкрдирд╛рдо рджреНрд╡рд╛рд░рд╛) рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪреА рд╕реЗ рдХреЛрдИ рдЖрдЗрдЯрдо рдЪреБрдирддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рд╕реНрд░реЛрдд рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдЖрджрд┐ рдЖрдЧреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдкрд░ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╣реИрдХреА рд╕реЙрд░реНрдЯрд┐рдВрдЧ/рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдХреЛрдб рдХреЛ рд╕реВрдЪреА рдкреНрд░рдХрд╛рд░ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ Xamarin рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдо рддреМрд░ рдкрд░ рдЦрд░рд╛рдм рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдВ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдиреНрдп рд╕рдорд╛рди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://developer.xamarin.com/api/property/System.Windows.Forms.ListView.Sorting /

@PureWeen , рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП? CollectionViewSource XAML рдЖрдзрд╛рд░рд┐рдд рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдПрдХ Microsoft рдорд╛рдирдХ рд╣реИред рдЖрдкрдХреЛ рдФрд░ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдпрд╣рд╛рдБ рдЖрдкрдХрд╛ рдкреНрд░рд╢реНрди рдЪреВрдХ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рдХрд┐рд╕ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдПрдХреНрд╕рдПрдПрдордПрд▓ рдиреЗ CollectionViewSources рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд▓рд┐рдпрд╛ рд╣реИ?

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл, рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдФрд░ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЗ рдкрд╛рд░, рдирд┐рдпрдВрддреНрд░рдг рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рд╕реНрд░реЛрдд рдХреЛ рдЙрд╕реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд▓рд╛рдкрддрд╛ CollectionViewSource рдХреЗ рдЫреЗрдж рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреГрддреАрдп рдкрдХреНрд╖ рдирд┐рдпрдВрддреНрд░рдг (рдЬреИрд╕реЗ SfDataGrid) рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдкрдиреЗ рд╕рд╛рде рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕рдореВрд╣реАрдХрд░рдг рд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рдорд╛рдирдХ Microsoft XAML рдЖрдзрд╛рд░рд┐рдд CollectionViewSource рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдЧрд╛

рдЗрд╕рдХреА рдирд┐рддрд╛рдВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@ рдЬрд╕рд╕реНрдорд┐рде рдзрдиреНрдпрд╡рд╛рдж!

рдЪрд▓реЛ рджреЛрд╕реНрддреЛрдВ, рдЗрд╕рдХреА рдмрд╣реБрдд рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рд╕реВрдЪреА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рдСрд░реНрдбрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рднрджреНрджрд╛ рд╣реИред

рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
https://forums.xamarin.com/discussion/32481/observablecollection-with-filter

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд░реВрд░реА рд╣реИ, рдпрд╣ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ рдЬрд╝рд╛рдорд░реАрди рдореЗрдВ рджрд░реНрдж рд╕реЗ рдЧрд╛рдпрдм рд╣реИред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдирдП Xamarin рдкреНрд░рдкрддреНрд░ 4.0 CollectionView рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХреИрд╕реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ WPF System.Windows.Data.CollectionView рдпрд╛ System.ComponentModel.ICollectionView рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ?

рдореИрдВ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ рд╕рд╛рде рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рдж рдЬрд╝рд╛рдорд░реАрди рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдореИрдВ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рд╣реВрдВ рдХрд┐ Xamarin рдореЗрдВ CollectionViewSource рдХрд╛ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред

рдпрд╣рд╛рдВ рдЖрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ CollectionViewSource. рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рддрдХрдиреАрдХ (рдЬреИрд╕реЗ Xamarin.Forms) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рдЬрдм рддрдХ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред

рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ, UWP рдХреЗ CollectionViewSource рдореЗрдВ рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред

WindowsCommunityToolkit рдореЗрдВ рдПрдХ UWP рдРрдб-рдСрди

рдореИрдВ рд╡рд┐рд╡рд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ; рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░/рдпрд╛ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдирдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдореЗрдВ рд▓рд╛рдн рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рд▓рд╛рдкрддрд╛ рдлреАрдЪрд░ рдХреА рдПрд╕рдУ рдЪрд░реНрдЪрд╛ рдФрд░ рд╡реГрджреНрдзрд┐ рдХреЗ рдХреБрдЫ рдкреНрд░рдпрд╛рд╕ред .

"рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рд░рд┐рдВрдЧ рдореЗрдВ рдЕрдкрдиреА рдЖрднрд╛рд╕реА рдЯреЛрдкреА рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЖрдпрд╛ рдерд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдЧреНрд░реБрдкрд┐рдВрдЧ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл/рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЕрдиреБрднрд╡ рдХрд╛ рдЗрддрдирд╛ рдореМрд▓рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдЦрд░реЛрдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╡рд╛рд▓ рдХреНрдпреЛрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЬрд╝рд╛рдорд░реАрди рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@jbhaywood рдЗрд╕рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд░реВрд░рдд рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рддрд░рд╣ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ CollectionViewSource рдЬреИрд╕рд╛ рдХреБрдЫ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗрдХреНрд╕реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП Microsoft рдХрд░реНрдордЪрд╛рд░реА рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдпрд╛ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдмрдбрд╝рд╛рдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ Microsoft рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП Xamarin.Forms рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡реЗ рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджрд░реНрдж рдмрд┐рдВрджреБрдУрдВ рдХреЛ рднреА рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

suihanhbr picture suihanhbr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jgold6 picture jgold6  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sonic1015 picture sonic1015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

samhouts picture samhouts  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mfeingol picture mfeingol  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ