рдореЗрд░реЗ рдРрдк рдореЗрдВ рдЗрди рдЕрдЦрдВрдбрд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рджреЗрдЦрдХрд░ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрд▓реЗрд╢рди рдХреЗ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдмреЗрд▓рд┐рдпрди рд╕реЗ рдмрдВрдзреЗ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдореЗрдВ рдкрддреНрддреА рдЖрдЗрдЯрдо рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддреЗ рд╣реИрдВред
рдореИрдВ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреЛ рдорджрдж рдХрд░рддрд╛ рд╣реИред
System.InvalidOperationException: Operation is not valid due to the current state of the object.
рдпрд╣ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ AppCenter рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:
TypedBinding`2[TSource,TProperty].Apply (System.Boolean fromTarget)
TypedBinding`2+PropertyChangedProxy[TSource,TProperty].<OnPropertyChanged>b__16_0 ()
Thread+RunnableImplementor.Run ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this)
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.39(intptr,intptr)
рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдареЛрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
@mfeingol рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдорд╛рдВрдЧ рдкрд░ рдлрд┐рд░ рд╕реЗ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рдХрдард┐рди рд╣реИред рдХреЛрдб рдХреА рдЖрдкрдХреА рд╕рдордЭ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдкрдХреА рдУрд░ рд╕реЗ рдХреЛрдИ рд╕реБрд░рд╛рдЧ?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ XAML рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдореИрдВ рдЕрдм рдпрд╛рддреНрд░рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди fwiw рдореЗрд░рд╛ рдЕрд╕реНрдерд╛рдпреА рд╣рд▓ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдерд╛ред
@mfeingol рдареАрдХ рд╣реИ, рдХрд┐ рд╕рд╣реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдореМрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ iOS рдФрд░ Android рджреЛрдиреЛрдВ рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
AppCenter рд╕рдорд╕реНрдпрд╛:
TypedBinding 2[TSource,TProperty].Apply (System.Boolean fromTarget)
TypedBinding
2 + PropertyChangedProxy [TSource, TProperty]ред
рдереНрд░реЗрдб + рд░рдирдиреЗрдмрд▓рдЗрдореНрдкреНрд▓реАрдорд░ред рд░реМрди ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr рдЬрдирддрдВрддреНрд░)
(рд░реИрдкрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ-рдореЗрдердб) System.Object.26 (intptr, intptr)
Xamarin рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, Xaml рдкреЗрдЬ рдХреЗ рд╕рд╛рде ViewModel - рд╕реНрдХреНрд░реЙрд▓ рдпреБрдХреНрдд рдЧреНрд░рд┐рдб - рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВ рдореЗрдВ рд▓реЗрдмрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдмрд╣реБрдд рд╕рд╛рдзрд╛рд░рдгред
@samhouts : рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдирдореВрдирд╛ рдРрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореЗрд░реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рдРрдк рдореЗрдВ 100% рд░рд┐рдкреНрд░реЛ рд╣реИред
рдХреНрдпрд╛ рдореИрдВ рдЖрдкрдХреА Azure DevOps рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдЯреАрдо рдХреА рдЕрдиреБрдорддрд┐ рдХрд┐рд╕реА рдХреЛ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╡реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХреЗрдВ?
microsoft.com рдкрд░ shneuvil
рдЖрдк рдЗрд╕рдореЗрдВ рд╣реИрдВ: https://dev.azure.com/sideroads/Sideroads
рд░реЗрдкреНрд░реЛ рдЪрд░рдг:
git checkout 6698-repro
рдФрд░ рдирд┐рд░реНрдорд╛рдгред рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рдмрд╛рд╣рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИредрдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпрд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдирд┐рд░реНрдпрд╛рдд рдХрд░реВрдВрдЧрд╛ред
@PureWeen : рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
@mtirona : рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдкрд╣рд▓реЗ рдпрд╛рдж рдЖрдИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдкреНрд░реЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдорд╛рдВрдЧ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ?
@mfeingol рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рднреАрддрд░ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдорд╛рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ - рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ AppCenter рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рджреБрд░реНрдШрдЯрдирд╛рдПрдВ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ ...
@mtirona : рдХреНрдпрд╛ рдЖрдк 100% рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк x рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдЕрдкрдиреЗ XAML рдореЗрдВ рдХрд╣реАрдВ рднреА рдбреЗрдЯрд╛
@ mfeingol x рдерд╛: рдореВрд▓ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдбреЗрдЯрд╛
рдореИрдВ рдкрд╛рдВрдЪ-рдиреМ рдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ XamlC рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ TypedBindings рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ (рдЬреЛ рдХрд┐ _amly_ Xaml рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ)
рд╕рд╛рдЗрдб рдиреЛрдЯ: рдореИрдВ Xamarin рдлреЙрд░реНрдо 3.6 рдкрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВрдиреЗ рдЕрднреА рдирд╡реАрдирддрдо 4.1 рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЕрдкрдиреЗ рдРрдк рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЗрд╕ рджреБрд░реНрдШрдЯрдирд╛ рдХреЛ рдПрдХ рд╕реВрдЪреАрдмрджреНрдз рд╕реВрдЪреА рдкреГрд╖реНрда рдореЗрдВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рджреЗрдЦрд╛ред рдЗрд╕рд▓рд┐рдП рдореБрджреНрджрд╛ рдЕрднреА рднреА 4.1.0.618606 рдХреЗ рд╕рд╛рде рдореМрдЬреВрдж рд╣реИред
@PureWeen : рдореИрдВрдиреЗ рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рджрд┐рдП рдЧрдП repro рдЪрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪреЗрдХрдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ
@mfeingol рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпрд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдирд┐рд░реНрдпрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХрджрдореЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реБрдЖ
рдареАрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП @mfeingol рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдпрд╛ рдХреНрдпреЛрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдЕрдм рддрдХ рдЬрд╛рдирддрд╛ рд╣реВрдВ
TypedBindings BindableObject рдХреЗ рд▓рд┐рдП рдПрдХ WeakReference рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕реА рдЪреАрдЬрд╝ рд╣реИ рдЬреЛ BindableObject рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ рддреЛ рдпрд╣ рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рдЦреЛ рджреЗрдЧреАред
рдпрд╣рд╛рдВ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдХреНрд░реИрд╢ рдХрд░рддрд╛ рд╣реИ
`` `рд╕реА #
рдЕрдЧрд░ (_weakTarget.TryGetTarget (рд▓рдХреНрд╖реНрдп рд╕реЗ рдмрд╛рд╣рд░))
рдлреЗрдВрдХ рдирдИ InvalidOperationException ();
If you look at the output of the application while it's running the exception always happens after a GC which makes sense why you are only seeing this after loading a larger data set.
As a test with the TypeBindings I created a nuget where it stores the source and target to a local variable just to see what would happen
```C#
_weakSource.SetTarget(source);
_weakTarget.SetTarget(bindObj);
_bindObj = bindObj;
_source = source;
ApplyCore(source, bindObj, targetProperty);
}
BindableObject _bindObj;
object _source;
рдФрд░ рдЕрдЧрд░ рдореИрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдореЗрд░реА рд╕реЛрдЪ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рдкрд░ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ LocationDayWeatherViewModel рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд░рд╣реА рд╣реИ, рдЬреЛ ViewCell рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИ, рдЯрд╛рдЗрдкрдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИред рдореИрдВ рдЕрднреА рднреА рдХрд╛рдлреА рдиреАрдЪреЗ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ рддреБрдореНрд╣рд╛рд░рд╛ред рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕рднреА рдмрдирд╛рдП рдЧрдП LocationDayWeatherViewModel рдХрд╛ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд╣реБрдП рд╣реИрдВ рдЬреЛ ListView рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВ?
рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреВрд░реНрдг рдРрдк рдХреЗ рдмрд╛рд╣рд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдард┐рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрднреЛрдВ рд╕реЗ рдпреБрдХреНрдд рдХреБрдЫ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдПрдХ рд╕рд░рд▓ рд░реАрдкреНрд░реЛ рдореЗрдВ рдореЗрдореЛрд░реА рдкреНрд░реЗрд╢рд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╡реИрд╕реЗ рднреА, рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ LocationDayWeatherViewModel
рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреГрд╢реНрдпрдореЛрдбреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдореМрд╕рдо рдХреЗ рддрд╛рдЬрд╝рд╛ рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рддрд╛рдЬрд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рдзреНрдп рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓рдХреЛрд▓реЗрдХреНрд╢рди рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк bps рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ ExpandableGroupCollectionViewModel.Refresh
рдореЗрдВ рдЧрд╣рд░рд╛ рд╣реЛрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рдзреНрдп рдСрдмреНрдЬрд╝рд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди рдХреЛ рдХреНрд▓рд┐рдпрд░ рдХрд░рдирд╛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдСрдкрд░реЗрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ XF рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрдордЬреЛрд░ рд░рд┐рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЗрд╕ рддрд░рд╣ рдХреА рджреМрдбрд╝ рд╣реЛрдЧреАред
рдПрдХ рддрд░рдл: рдореИрдВ рдореЗрдВ рдЖрдЗрдЯрдо рдХреА рдкреНрд░рддрд┐ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА this
рдореЗрдВ рд╕рдорд╛рд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реВрдЪреА рдореЗрдВ Refresh
, рд▓реЗрдХрд┐рди рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ, рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд╛рд▓реВрдо рдерд╛ред рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реВрдЪреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ GC рдиреЗ рдЗрд╕реЗ рднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЕрдЧрд░ XF рдмрд╛рд╕реА рдмрдВрдзрди "рдмрд╛рдж рдореЗрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рдРрдк рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЧрд▓рддрдлрд╣рдореА рд╣реЛ рд╕рдХрддреА рд╣реИред
(рдФрд░ рд╣рд╛рдВ, рдореМрд╕рдо / рд╡рд┐рд╕реНрддрд╛рд░рдХ рдХреЛрдб рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдереЛрдбрд╝рд╛ рдмрд╛рд╣рд░ рд╣реИред рдХрд╛рд╢ рдПрдХреНрд╕рдПрдл рдХрд╛ рдПрдХ рджреЗрд╢реА рд╡рд┐рд╕реНрддрд╛рд░рдХ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрддрд╛ ...)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдкреНрд░реЗрд╢рд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдпрд╛ рд╕рд┐рд░реНрдл GC.Clect рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рд▓рд┐рдП рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ TypedBinding рдкрд░ OnPropertyChanged UI рдереНрд░реЗрдб рдкрд░ рдорд╛рд░реНрд╢ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИ
рддреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЗ рд╕рд╛рде рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
UI рдереНрд░реЗрдб рдкрд░ PropertyChanged рдХрддрд╛рд░
рд╕реНрдкрд╖реНрдЯ
рдЬреАрд╕реА
рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрдн рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИ
PropertyChanged рдЕрдм рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ
рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?
https://github.com/xamarin/xamarin-android/issues/2049
@StephaneDelcroix рдореЗрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ :-)
рдХрд▓ рд░рд╛рдд рдореЗрд░реЗ рдкрд╛рд╕ рдереЛрдбрд╝рд╛ рдЦрд╛рд▓реА рд╕рдордп рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд░рд▓ рд░реАрдкреНрд░реЛ рдореЗрдВ Clear()
рдХреЙрд▓ рдХреЗ рдмрд╛рдж GC.Collect()
рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЙрд╕ рддрд░рд╣ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ред
рдХреНрдпрд╛ рдЖрдкрдиреЗ рд▓рдВрдмрд┐рдд рдлрд╛рдЗрдирд▓ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛?
рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрд╡рд▓ рд╕реБрдкрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ
https://github.com/xamarin/Xamarin.Forms/blob/a76db1407a76fccbf487425db1bca5d15f925127/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Helpers/GarbageCollectionHelper.cs#L9
рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдХреЙрд▓ рд╣реИред рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдмрд╛рдж рднреА, Clear()
рд░реЗрдкреНрд░реЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рддреЛ рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд╣рдЯрддреЗ рд╣реБрдП ... рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдХреЛрдИ рдмрдВрдзрди рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрдн рдзрд╛рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд╣ рд╡рд╕реНрддреБ GC'd рд╣реЛ рд╕рдХрддреА рд╣реИред рддреЛ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ, рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХреНрд╕рдПрдл рдХреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрд╕реЗ рд╢рд╛рдпрдж рдкреНрд░реЙрдкрд░реНрдЯреАрдЪреЗрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдРрдк рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдпрд╣ рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдХреНрдпрд╛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдФрд░ рдкреБрдирдГ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ repro рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рдЖрдЬ рд░рд╛рдд рдХреЛрдб рд╕рдВрд▓рдЧреНрди рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрди-рдРрдк рд░рд┐рдкреНрд░реЛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ, рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдРрдк рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рд╣реИред
@PureWeen : рдЗрд╕рдХреЗ рдирд┐рджрд╛рди рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рдФрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
@mfeingol рдЕрднреА рдирд╣реАрдВ рдЬрдм рддрдХ рдЖрдкрдХреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рдХрд┐ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдРрдк рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ
рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдордЭ рд╕рдХреЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ https://github.com/xamarin/Xamarin.Forms/issues/6698#issuecomment -519359760 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдкрд░ рдЕрднреА рднреА рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝реЗ рд╣реИрдВ?
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ) -:
@ysmoradi : рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг
рдпрд╣ рдореЗрд░реЗ рдЙрддреНрдкрд╛рджрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рднреА рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИ!
рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рднреА рд░рд┐рдкреНрд░реЛ рд╣реИ , рд▓реЗрдХрд┐рди рд░реАрдкреНрд░реЛ рдХреЗ рдмрд┐рдирд╛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдПрдХ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред :-(
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо + рджреГрд╢реНрдп рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рдо + рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдВрджрд░реНрдн рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд╛рдо рд╣реЛрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ рд╕рдЯреАрдХ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ, iOS рдФрд░ Android, xamarin рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ 4.2.0.709249ред
рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ xaml рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ DataTemplate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реВрдЪреА рджреГрд╢реНрдп рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ XTl рдкреЗрдЬ рдкрд░ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рд╕реЗрдЯ рд╣реИ рдФрд░ рдлрд┐рд░ рд▓рд┐рд╕реНрдЯрд╡реНрдпреВ рдбреЗрдЯреЗрдЯрдкреНрд▓реЗрдЯ рдкрд░ рдПрдХ рдЕрд▓рдЧред
рдореБрдЭреЗ рдЙрд╕ рд╕реВрдЪреА рдкрд░ рд╕реНрдкрд╖реНрдЯ рдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдмрд╛рдзреНрдп рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ GC.Collect рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИред (рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ GC.Collect рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдХрдо рд╣реА рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред)
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрд╛, рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рджреГрд╢реНрдп рдХреЗ рдмреАрдЪ рдЕрдкрдиреЗ рдмрдВрдзрди рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВред рдореИрдВ рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реВрдВред рд╕реВрдЪреА рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, (рд▓реЗрдХрд┐рди рд░рд┐рдлреНрд░реЗрд╢рд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдХреЗ рдмрд╛рдж рднреА рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдореИрдВ рд╕рд╛рдордЧреНрд░реА рдкреГрд╖реНрда рдкрд░ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдбреЗрдЯреЗрдЯрдкреНрд▓реЗрдЯ рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рднреА рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдореИрдВ рд╕реВрдЪреА рдирд┐рд░реНрдзрд╛рд░рдг IsRefresing рдкрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдРрдк рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
@shoyheim : рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг
@shoyheim : рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг
@mfeingol рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг / рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдирд┐рдЪреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ ...
@shoyheim : рдХреНрдпрд╛ рддреБрдордиреЗ рдХрднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп рд╣реИ?
@mfeingol
рдХреЛрдИ рдЦреЗрдж рдирд╣реАрдВ, рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЬрдм рднреА рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдкреНрд░реЛ рдмрдирд╛рддрд╛ рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рдХреНрд░реИрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рдРрдк рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдФрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд░рд╣рддрд╛ рд╣реИред
рдЕрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рднреА рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдмрд╕ рдЕрдкрдиреА xaml рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдХреНрд░реИрд╢ рдЧрд╛рдпрдм рд╣реЛ рдЧрдПред
рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╕реВрдЪреА рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ, рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рд░реАрдлрд╝реНрд░реЗрд╢рд┐рдВрдЧ" рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдмрдВрдз рд╣реИред рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ ... рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рдордп рдХреЗ рдЖрд╕рдкрд╛рд╕ рджреБрд░реНрдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред
1- рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдВрджрд░реНрдн (рджреЗрдЦреЗрдВ рдореЙрдбрд▓) рдХреА рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред
2- рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рей- рдЬреАрд╕реА рдХрд╣рддреЗ рд╣реИрдВред
@ysmoradi : рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рдФрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рдХреНрд░реИрд╢ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдХрд╣рд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рд░рд▓ рд░реЗрдкреЛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдореЗрд░реЗ рдЙрддреНрдкрд╛рджрди рдРрдк рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рднреА рд╣реЛрддрд╛ рд╣реИред
рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдПрдХ рд░реЗрдкреЛ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдХрдИ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдХрд▓ рдореИрдВ рдЕрдкрдиреА рдирдИ рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдФрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдПрдХ рдФрд░ рд╕реБрдЭрд╛рд╡ рдЬреЛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдореЗрд░реА рдорд╛рдиреНрдпрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рдорд╡рд░реНрддреА рдЬреАрд╕реА рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджреБрд░реНрдШрдЯрдирд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝реЗ рд╣реБрдП рдЕрд╡рд╕рд░реЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдзрд╛рдЧреЗ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдзрд╛рдЧреЗ / рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рдореЙрдбрд▓ рдХреЗ рдореЙрдбрд▓ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Device.BeginInvokeOnMainThread рдореБрдЦреНрдп рдереНрд░реЗрдбреНрд╕ рдХрддрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдереНрд░реЗрдб рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдореИрдВ рдХрд▓ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВ рд╕рдорд╡рд░реНрддреА рдЬреАрд╕реА рд╕рдХреНрд╖рдо рд╣реИред рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЬрд┐рд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рд╕реНрдирд┐рдкреЗрдЯ рдпрд╣ рдХрд░рддрд╛ рд╣реИ:
Page1 page = new Page1();
await this.Navigation.PushModalAsync(page);
await Task.Run(() => { page.TXT = "Foo"; });
await this.Navigation.PopModalAsync();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
TXT рдкреЗрдЬ 1 рдкрд░ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдЬрд┐рд╕реЗ BindableProperty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреЗрдЬ 1 рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдлрд┐рд░ рднреА рдирд╕реАрдм рдирд╣реАрдВред
рдореЗрд░реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рдРрдк рдореЗрдВ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдпрд╣рд╛рдБ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред X рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдердХрд╛рдК рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдмрд╛рдж: рдкреНрд░рджрд░реНрд╢рди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣рд░ рдЬрдЧрд╣ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк, рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдЙрди рд╕рднреА рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдорд╛рдВрдЪрд┐рдд рд╣реВрдВред
рдЕрдЧрд░ рдореИрдВ рдПрдХ рдХрд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рд░рд┐рдкреНрд░реЛ рдРрдк рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред
рдиреЛрдЯ: рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдЬрдм рдореИрдВрдиреЗ рднреА рд╕рдВрдкреАрдбрд╝рд┐рдд рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рд╕рдВрднрд╡рдд: рдпрд╣ рд╕рдВрдпреЛрдЧ рдмрд╣реБрдд рд╣реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИред
рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде MVVM рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдРрдк рдХреЛ рдЕрднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред
рдирд╡реАрдирддрдо Xamarin.Forms рдЪрд▓ рд░рд╣рд╛ рд╣реИ: 4.2.0.848062
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде:
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд░реЗрдкреНрд░реЛ рдЪрд░рдг рдирд╣реАрдВ рд╣реИрдВ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдмреАрдЯрд╛ рдореЗрдВ рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА AppCenter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рд░рд┐рдкреЛрд░реНрдЯ рд╣реИрдВ)ред
рдРрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд░рд┐рдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЖрд╕рд╛рди рд╣рд▓ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЕрдирдкреНрд▓рдЧ рдХрд░реЗрдВ рдФрд░ рдЬрдм рд▓рдХреНрд╖реНрдп рдЬреАрд╕реАрдб рд╣реЛ рдЬрд╛рдП, рддреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ DO_NOT_CHECK_FOR_BINDING_REUSE рдХреЗрд╡рд▓ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдХреИрд╕реЗ рдлреЗрдВрдХрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
@fmanseau : рдореЗрд░рд╛ рдПрдХ рд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред @PureWeen?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рд┐рдЬреНрдо рдХреЗ рд░реЗрдкреЛ рдореЗрдВ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдореБрджреНрджрд╛ рд░реЗрдкреНрд░реЛ рд╕реНрдЯреЗрдкреНрд╕ рд╣реИ (рдЗрд╕реЗ рдкреНрд░рд┐рдЬреНрдо рдРрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рд╕рдорд╛рди рдкреИрдЯрд░реНрди рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ)ред
@StephaneDelcroix @ Kingces95 @wachs
рдЖрдк рд▓реЛрдЧ TypedBinding
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкреАрдЫреЗ рд▓рдЧ рд░рд╣реЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдИ рджреЗрд╡рддрд╛ рд╡рд╣рд╛рдБ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдЕрдм рдЙрдирдХреЗ рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ InvalidOperationException
рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХреЗ рдЧрдП TypedBinding
ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @samhouts рдЙрд╕рдХреА рдзрд╛рд░рдгрд╛ рдореЗрдВ рд╕рд╣реА рд╣реИ, рдХрд┐ GC рдХреЗ рдмрд╛рдж рдореЗрдВ рдФрд░ target
TypedBinding
рдирд┐рдХрд╛рд▓ рджреЗрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдорд╛рдорд▓рд╛ рд╣реИ) ListView
рдХрдИ рдЬрдЯрд┐рд▓ DataTemplates
, TypedBinding
рдПрдХ InvalidOperationException
рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ рдХрднреА рдкрдХрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░) ??) рдЗрд╕ рддрд░рд╣:
рдЯрд╛рдЗрдкреНрдбрдмрд╛рдЗрдВрдбрд┐рдВрдЧ
2[TSource,TProperty].Apply (System.Boolean fromTarget) System.InvalidOperationException: Operation is not valid due to the current state of the object. Stack traces TypedBinding
2 [TSource, TProperty] .Apply (System.Boolean fromTarget)
TypedBinding`2 + PropertyChangedProxy [TSource, TProperty]редb__16_0 ()
рдереНрд░реЗрдб + рд░рдирдиреЗрдмрд▓рдЗрдореНрдкреНрд▓реАрдорд░ред рд░реМрди ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr рдЬрдирддрдВрддреНрд░)
(рд░реИрдкрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ-рдореЗрдердб) Android.Runtime.DynamicMethodNameCounter.43 (intptr, intptr)
рдЕрдм @mfeingol рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ InvalidOperationException
рдХреНрдпреЛрдВ рд╣реИ рдЬреЛ рдЗрд╕ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВ рдПрдХ рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?
рдореИрдВ рд╕реНрд╡рдпрдВ .NET 3.0 рд╕реЗ WPF рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ рдФрд░ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХрднреА рдХреЛрдИ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рддреЛ рдореЗрд░рд╛ рд╕рд╡рд╛рд▓:
рдХреНрдпрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ TypedBinding
рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдЗрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рд▓рдХреНрд╖реНрдп рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддрд╛?
рдпрд╛ рд╢рд╛рдпрдж рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣реА рд╕рднреА рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдЧрд▓рдиреЗ рдпрд╛ рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП?
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджрди рдРрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╕реНрде Xamarin.Forms рд░рд┐рд▓реАрдЬ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХреЗ рдХреНрдпрд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ!
@ рдмреНрд░реБрдЬрд╝рдХреЛрд╡рд╕реНрдХреА - рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рд░реБрдЪрд┐ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, @StephaneDelcroix @ Kingces95 @wachs , рдореИрдВ рдПрдХ рдзреНрд╡рдЬ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ
DO_NOT_CHECK_FOR_BINDING_REUSE
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ?
рдореИрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреА рддрд░рд╣ рд╕рд╛рде Xamarin.Forms рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ DO_NOT_CHECK_FOR_BINDING_REUSE
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ true
рдЗрд╕ рдмрдЧ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ? рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?
рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ ListView рдФрд░ DataTemplateSelector рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг ContentPage рдореЗрдВ рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдЖ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?
рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЦреБрд▓реА рд╣реИ рддреЛ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ ??
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/app-fundamentals/data-binding/compiled-bindings
@mrjavicho : рдХреЛрдИ рднреА рдореМрдХрд╛
рдореИрдВ рдЗрд╕ рдирдореВрдиреЗ рдХреЗ рд╕рд╛рде рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
https://github.com/usausa/TypedBindingIssue
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдБ рдФрд░ рдЯреЗрд╕реНрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЯрд┐рдкреНрдкрдгреА рдХреЛ MainPage.Cleanup () рдореЗрдВ рд╣рдЯрд╛ рджреЗрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдпрд╣рд╛рдБ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореИрдВ @usausa рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдКрдкрд░ рдЬреИрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ:
0x16 in Xamarin.Forms.Internals.TypedBinding<TypedBindingIssueApp.View1ViewModel,string>.Apply at D:\a\1\s\Xamarin.Forms.Core\TypedBinding.cs:99,5 C# Annotated Frame
0x7 in Xamarin.Forms.Internals.TypedBinding<TypedBindingIssueApp.View1ViewModel,string>.PropertyChangedProxy.<OnPropertyChanged>b__16_0 at D:\a\1\s\Xamarin.Forms.Core\TypedBinding.cs:277,31 C# Annotated Frame
0x29 in Xamarin.Forms.DispatcherExtensions.Dispatch at D:\a\1\s\Xamarin.Forms.Core\DispatcherExtensions.cs:53,6 C# Annotated Frame
0x3F in Xamarin.Forms.Internals.TypedBinding<TypedBindingIssueApp.View1ViewModel,string>.PropertyChangedProxy.OnPropertyChanged at D:\a\1\s\Xamarin.Forms.Core\TypedBinding.cs:277,5 C# Annotated Frame
0x15 in Xamarin.Forms.BindingExpression.WeakPropertyChangedProxy.OnPropertyChanged at D:\a\1\s\Xamarin.Forms.Core\BindingExpression.cs:645,6 C# Annotated Frame
> 0x14 in TypedBindingIssueApp.NotificationObject.RaisePropertyChanged at C:\Operations\Build\External\TypedBindingIssue\TypedBindingIssueApp\TypedBindingIssueApp\NotificationObject.cs:13,13 C# Symbols loaded.
0x5D in TypedBindingIssueApp.LongLifecycleModel.Next at C:\Operations\Build\External\TypedBindingIssue\TypedBindingIssueApp\TypedBindingIssueApp\LongLifecycleModel.cs:19,13 C# Symbols loaded.
0x2A in TypedBindingIssueApp.MainPage.Button_OnClicked at C:\Operations\Build\External\TypedBindingIssue\TypedBindingIssueApp\TypedBindingIssueApp\MainPage.xaml.cs:29,17 C# Symbols loaded.
0x6 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1092,17 C# Annotated Frame
0x73 in System.Threading.ExecutionContext.RunInternal at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:968,17 C# Annotated Frame
0x4 in System.Threading.ExecutionContext.Run at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:910,13 C# Annotated Frame
0x32 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1073,25 C# Annotated Frame
0x6 in System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<>c.<.cctor>b__7_0 at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs:379,78 C# Annotated Frame
0xC in Android.App.SyncContext. C# Annotated Frame
рд░реЗрдкреНрд░реЛ рд╣рд╛рдЬрд┐рд░ рд╣реИ! рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦреА рдереА рдХрд┐ рджреБрд░реНрдШрдЯрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп рдкрд░ рд╣реЛрддреА рд╣реИ, рдХрднреА-рдХрднреА рдпрд╣ рдмрдЯрди рдХреЛ рдХрдИ рдмрд╛рд░ рджрдмрд╛рдХрд░ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ (рд▓рдЧрд╛рддрд╛рд░ 29 рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмрд╛рдж):
рдмрд╕ рдкреАрд╕реА рдШрдЯрдирд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ 80 рдмрд╛рд░ рдмрдврд╝рд╛рдПрдВ:
c#
for (var i = 0; i < 80; i++)
RaisePropertyChanged(nameof(Entity));
рдпрд╣ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдлрд▓рддрд╛ рджрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
рдЬрдм View1
рдФрд░ View2
рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП XAML рд╕рдВрдХрд▓рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ BindingExpression.cs рдореЗрдВ NullReferenceException
рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рд╣реИ:
рдЕрднреА рднреА рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ ...
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@StephaneDelcroix @ Kingces95 @wachs
рдЖрдк рд▓реЛрдЧ
TypedBinding
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкреАрдЫреЗ рд▓рдЧ рд░рд╣реЗ рд╣реИрдВредрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдИ рджреЗрд╡рддрд╛ рд╡рд╣рд╛рдБ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдЕрдм рдЙрдирдХреЗ рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░
InvalidOperationException
рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХреЗ рдЧрдПTypedBinding
редрдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @samhouts рдЙрд╕рдХреА рдзрд╛рд░рдгрд╛ рдореЗрдВ рд╕рд╣реА рд╣реИ, рдХрд┐ GC рдХреЗ рдмрд╛рдж рдореЗрдВ рдФрд░
target
TypedBinding
рдирд┐рдХрд╛рд▓ рджреЗрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдорд╛рдорд▓рд╛ рд╣реИ)ListView
рдХрдИ рдЬрдЯрд┐рд▓DataTemplates
,TypedBinding
рдПрдХInvalidOperationException
рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ рдХрднреА рдкрдХрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░) ??) рдЗрд╕ рддрд░рд╣:рдЕрдм @mfeingol рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐
InvalidOperationException
рдХреНрдпреЛрдВ рд╣реИ рдЬреЛ рдЗрд╕ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВ рдПрдХ рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?рдореИрдВ рд╕реНрд╡рдпрдВ .NET 3.0 рд╕реЗ WPF рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ рдФрд░ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХрднреА рдХреЛрдИ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рддреЛ рдореЗрд░рд╛ рд╕рд╡рд╛рд▓:
рдХреНрдпрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐
TypedBinding
рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдЗрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рд▓рдХреНрд╖реНрдп рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддрд╛?рдпрд╛ рд╢рд╛рдпрдж рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣реА рд╕рднреА рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдЧрд▓рдиреЗ рдпрд╛ рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП?
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджрди рдРрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╕реНрде Xamarin.Forms рд░рд┐рд▓реАрдЬ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХреЗ рдХреНрдпрд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ!
@ рдмреНрд░реБрдЬрд╝рдХреЛрд╡рд╕реНрдХреА - рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рд░реБрдЪрд┐ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ