рдкрд┐рдЫрд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ:
- рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рд╡рд╣ рдЬреИрд╕рд╛ рдЪрд╛рд╣реЗ рд╡реИрд╕рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред
- рдбреЗрдЯрд╛ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВред
- рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдПрдВ рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
- рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рдореВрд▓реНрдп рд░реВрдкрд╛рдВрддрд░рдг
рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХрдирд╡рд░реНрдЯрд░ рд╕реЗрдЯрд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрд╛рдзреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдорд╛рди рдХрдирд╡рд░реНрдЯрд░рдкреИрд░рдореАрдЯрд░ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рдореНрди XAML рдХреЛрдб рджрд┐рдирд╛рдВрдХ TextBlock рдХреЗ рд▓рд┐рдП рдХрдирд╡рд░реНрдЯрд░ рдФрд░ ConverterParameter рджрд┐рдЦрд╛рддрд╛ рд╣реИред
< TextBlock Style ="{StaticResource SummaryStyle}" Text ="{Binding Date, Converter={StaticResource StringFormatter}, ConverterParameter=\{0:d\} }" Width ="105" TextWrapping ="Wrap" /> * This source code was highlighted with Source Code Highlighter .
< TextBlock Style ="{StaticResource SummaryStyle}" Text ="{Binding Date, Converter={StaticResource StringFormatter}, ConverterParameter=\{0:d\} }" Width ="105" TextWrapping ="Wrap" /> * This source code was highlighted with Source Code Highlighter .
< TextBlock Style ="{StaticResource SummaryStyle}" Text ="{Binding Date, Converter={StaticResource StringFormatter}, ConverterParameter=\{0:d\} }" Width ="105" TextWrapping ="Wrap" /> * This source code was highlighted with Source Code Highlighter .
< TextBlock Style ="{StaticResource SummaryStyle}" Text ="{Binding Date, Converter={StaticResource StringFormatter}, ConverterParameter=\{0:d\} }" Width ="105" TextWrapping ="Wrap" /> * This source code was highlighted with Source Code Highlighter .
< TextBlock Style ="{StaticResource SummaryStyle}" Text ="{Binding Date, Converter={StaticResource StringFormatter}, ConverterParameter=\{0:d\} }" Width ="105" TextWrapping ="Wrap" /> * This source code was highlighted with Source Code Highlighter .
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореВрд▓реНрдп рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдЖрдкрдХреЛ рдордирдорд╛рдиреЗ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдЕрд╕рдВрдЧрдд рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛ рдпрд╛ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рди рд╣реЛред рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╕ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░реВрдкрд╛рдВрддрд░рдг рдпрд╛ рд╕реНрд╡рд░реВрдкрдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЛ рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореВрд▓реНрдп рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдмрдирд╛рдХрд░, рдЖрдк рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдФрд░ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрднреНрдпрд╛рд╡реЗрджрди рджреЛрдиреЛрдВ рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдХрдирд╡рд░реНрдЯрд░ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдореВрд▓реНрдп рд╣реИред рдирд┐рдореНрди XAML рдХреЛрдб
StringFormatter рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ "StringFormatter" рдирд╛рдордХ StaticResource рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░рд┐рдб рдХреЛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИред
- < рдЧреНрд░рд┐рдбред рд╕реНрд░реЛрдд >
- < рд╕реНрдерд╛рдиреАрдп: StringFormatter x: Key = "StringFormatter" />
- </ рдЧреНрд░рд┐рдбред рд╕реНрд░реЛрдд >
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореВрд▓реНрдп рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
StringFormatter рд╡рд░реНрдЧ рдХреЛ IValueConverter рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрдиреНрд╡рд░реНрдЯ рдФрд░ ConvertBack рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ OneWay рд╣реИ, рдЗрд╕рд▓рд┐рдП
StringFormatter рд╡рд░реНрдЧ рдХреЛ
рдХреЗрд╡рд▓ Convert рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ String.Format рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ StringFormatter: IValueConverter
- {
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдиреНрд╡рд░реНрдЯ ( рдСрдмреНрдЬреЗрдХреНрдЯ рд╡реИрд▓реНрдпреВ , рдЯрд╛рдЗрдк рдЯрд╛рд░рдЧреЗрдЯ рдЯрд╛рдЗрдк, рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░,
- рд╕рдВрд╕реНрдХреГрддрд┐рдЗрдиреНрдлреЛ рдХрд▓реНрдЪрд░)
- {
- // рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореВрд▓реНрдп рдкреНрд░рд╛рд░реВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ
- var formatString = рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ ;
- рдЕрдЧрд░ ( рд╕реНрдЯреНрд░рд┐рдВрдЧ .IsNullOrEmpty (formatString))
- {
- рд╡рд╛рдкрд╕реА рд╕реНрдЯреНрд░рд┐рдВрдЧ .Format (рд╕рдВрд╕реНрдХреГрддрд┐, рд╕реНрд╡рд░реВрдкрдг, рдореВрд▓реНрдп );
- }
- // рдпрджрд┐ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢реВрдиреНрдп рдпрд╛ рд░рд┐рдХреНрдд рд╣реИ, рддреЛ рдмрд╕ ToString () рдХреЙрд▓ рдХрд░реЗрдВ
- // рдореВрд▓реНрдп рдкрд░ред
- рд╡рд╛рдкрд╕реА рдорд╛рди .ToString ();
- }
- // рдПрдХрддрд░рдлрд╛ рдмрдВрдзрди рдкрд░ рд╡рд╛рдкрд╕ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ ConvertBack ( рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╛рди , рдкреНрд░рдХрд╛рд░ рд▓рдХреНрд╖реНрдп рдЯрд╛рдЗрдк,
- рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░, CultureInfo рд╕рдВрд╕реНрдХреГрддрд┐)
- {
- рдирдИ NotImplementedException () рдлреЗрдВрдХреЗрдВ;
- }
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдирд┐рдореНрди рдЫрд╡рд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬрдм StringFormatter рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЬрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

ZeroFormatter.cs рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдгред рдлреНрдпреВрд▓ рдЯреНрд░реИрдХрд░ рд╢реВрдиреНрдп рдорд╛рдиреЛрдВ рдХреЛ рд░рд┐рдХреНрдд рддрд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ZeroFormatter рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рджреМрд░рд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрд╛рдВрдХ рдЧреБрдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрди рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрд┐рд╕реА рдореВрд▓реНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦрд╛рд▓реА рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдПред
рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕реЗрд╕ рдмрдирд╛рдирд╛
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЖрдк ADO.NET рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╛ WCF рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдбреЗрдЯрд╛ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рд╛рджреЗ рдкреБрд░рд╛рдиреЗ рд╕реАрдПрд▓рдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ (POCO - рд╕рд╛рджреЗ рдкреБрд░рд╛рдиреЗ рд╕реАрдПрд▓рдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрди рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЧреБрдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред
рдкрд░рд┐рд╖рдж:рдпрджрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдЧреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рддреЛ рдпрд╣ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдЖрдорддреМрд░ рдкрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ, рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдФрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдпрд╛ рдкрд░рддреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЛрдб рдХреЛ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдирд╛ рд╣реИред
XAML рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЙрдбрд▓-рд╡реНрдпреВ-рд╡реНрдпреВрдореЙрдбрд▓ (MVVM) рд╣реИред рдЪреВрдВрдХрд┐ рдлреНрдпреВрд▓ рдЯреНрд░реИрдХрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИ, рдпрд╣ рдПрдорд╡реАрд╡реАрдПрдо рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рдореЙрдбрд▓ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрди рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░
рдкреИрдЯрд░реНрди рдФрд░ рдкреНрд░рдерд╛рдУрдВ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 7 рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЧрд╛рдЗрдб рдореЗрдВ рдореЙрдбрд▓-рд╡реНрдпреВ-рд╡реНрдпреВрдореЙрдбрд▓ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ ред
рдлреНрдпреВрд▓ рдЯреНрд░реИрдХрд░ рдПрдХ рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП CLR рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрди рдЫрд╡рд┐ рдлреНрдпреВрд▓ рдЯреНрд░реИрдХрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП
рдХрд╛рд░ ,
рдлрд┐рд▓рдЕрдк рдФрд░
рдХрд╛рд░рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рдХрдХреНрд╖рд╛рдПрдВ рджрд┐рдЦрд╛рддреА рд╣реИ ред рдЖрд╡реЗрджрди рдореЗрдВ рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рдореБрдЦреНрдп рд╣реИрдВред
рдХрд╛рд░ рд╡рд░реНрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд▓реНрдк рдХреНрд▓рд╛рд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдИрдВрдзрди рднрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рд╕рднреА рдХрд╛рд░ рдФрд░ рдлрд┐рд▓рдЕрдк рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ рд╕рд░рд▓ рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВ, рдХрд╛рд░ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред
рдлрд┐рд▓рдЕрдкрд╣рд┐рд╕реНрдЯрд░ рд╕рдВрдкрддреНрддрд┐, рдЬреЛ рд░рд┐рдлрд┐рд▓ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред
CarDataStore рдХреНрд▓рд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░ рдФрд░ рдлрд┐рд▓рдЕрдк рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреЗрдЬ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрд╛рдзреНрдп рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рдХрд╛рд░ рдФрд░
рдлрд┐рд▓рдЕрдк рдХреНрд▓рд╛рд╕реЗрд╕ INotifyPropertyChanged рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред INotifyPropertyChanged рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рдЕрджреНрдпрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓рд╛ рдЦрдВрдб, "рдбреЗрдЯрд╛ рдореИрдкрд┐рдВрдЧ" рджреЗрдЦреЗрдВред
рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдмрджрд▓реЗрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдЕрдкрдиреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдЕрдиреНрдп рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдЖрд╡реЗрджрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ INotifyPropertyChanged рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдмрджрд▓рд╛рд╡ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ INotifyPropertyChanged рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░рд▓ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ Car.cs рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢реНрд░реЗрдгреА рдХреА рдХрд╛рд░: INotifyPropertyChanged
- {
- рдирд┐рдЬреА рд╕реНрдЯреНрд░рд┐рдВрдЧ _name;
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╛рдо
- {
- { рд░рд┐рдЯрд░реНрди _name рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ ; }
- рд╕реЗрдЯ
- {
- _name = рдореВрд▓реНрдп ;
- NotifyPropertyChanged ( "рдирд╛рдо" );
- }
- }
- // ... рдЕрдиреНрдп рдЧреБрдг ...
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдШрдЯрдирд╛
- рдирд┐рдЬреА рд╢реВрдиреНрдп NotifyPropertyChanged ( рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЧреБрдгрдирд╛рдо)
- {
- рдкреНрд░реЙрдкрд░реНрдЯреАрдЪреЗрдВрдЬреНрдб ( рдпрд╣ , рдирдпрд╛ рдкреНрд░реЙрдкрд░реНрдЯреАрдЪреЗрдВрдбреЗрд╡реЗрдВрдЯрдПрд░рдЧреНрд╕ (рдкреНрд░реЙрдкрд░реНрдЯреАрдиреЗрдо));
- }
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЬрдм рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдмрд╛рдВрдзрддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЗрдВрдЬрди рдкреНрд░реЙрдкрд░реНрдЯреАрдЪреЗрдВрдЬреНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЬрдм рднреА рдкреНрд░реЙрдкрд░реНрдЯреА рд╡реИрд▓реНрдпреВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдЖрдП рддреЛ рдпрд╣ рд╕рднреА рдмрд╛рдЙрдВрдб рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХреЗред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PropertyChanged рдШрдЯрдирд╛ рдПрдХ рдЦрд╛рд▓реА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХреА рдЬрд╛рддреА рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдХрднреА рднреА
рдЕрд╢рдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ
NotifyPropertyChanged рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рд╣рдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдШрдЯрдирд╛
рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ
рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдмрджрд▓реЗрдВ
рдХрд┐рд╕реА рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдпрд╛ рд╣рдЯрд╛рдирд╛, рд╕рдВрдЧреНрд░рд╣ рдХреЛ INotifyCollectionChanged рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдУрдмреНрдЬрд░реНрд╡реИрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдСрдмреНрдЬрд╝рд░реНрд╡реЗрдмрд▓ рдХреИрд▓реЛрд▓реЗрд╢рди, рдЗрдиреЛрдЯрд┐рдлрд╝рдкреНрд░реЛрдкрд░реЗрдЯреА рдЪреЗрдВрдЬреЗрдб рдФрд░ рдЗрдиреЛрдЯрд┐рдлрд╝рд╛рдЗрдХ рдХреЛрд▓реЛрдирд┐рдпрдирдЪреЗрдВрдЬ рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдЗрдЯрдо рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдСрдмреНрдЬрд╝рд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди рдореЗрдВ рд░рдЦреЗрдВред рд╡реЗ рддрддреНрд╡ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдПрдХ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди рдореЗрдВ рд░рдЦрд╛ рдерд╛, рдЙрдиреНрд╣реЗрдВ INotifyPropertyChanged рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╕реВрдЪрдирд╛рдПрдВ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдлреНрдпреВрд▓ рдЯреНрд░реИрдХрд░
рдлрд┐рд▓рдЕрдкрд╣рд┐рд╕реНрдЯрд░реЛрди рдирд╛рдордХ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдИрдВрдзрди рднрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
FillupHistory рдлрд┐рд▓рдк рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдХ
рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓рдХреЛрд▓рд┐рд▓реЗрд╢рди рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ Car.cs рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдкрдмреНрд▓рд┐рдХ рдСрдмреНрдЬрд╝рд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди <Fillup> FillupHistory
- {
- get { рд╡рд╛рдкрд╕реА _fillupHistory; }
- рд╕реЗрдЯ
- {
- _fillupHistory = рдореВрд▓реНрдп ;
- рдЕрдЧрд░ (_fillupHistory! = null )
- {
- _fillupHistory.CollectionChanged + = рдкреНрд░рддрд┐рдирд┐рдзрд┐
- {
- NotifyPropertyChanged ( "рдПрд╡рд░реЗрдЬрдлреБрд▓ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА" );
- };
- }
- NotifyPropertyChanged ( "FillupHistory" );
- NotifyPropertyChanged ( "рдПрд╡рд░реЗрдЬрдлреБрд▓ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА" );
- }
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрд╣ рдХреЛрдб рдпрд╣ рднреА рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рднрд░рдг рдЗрддрд┐рд╣рд╛рд╕ рдпрд╛ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдФрд╕рдд рдИрдВрдзрди рджрдХреНрд╖рддрд╛ рдХреА рдЧрдгрдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдЧреАред рдЗрд╕рд▓рд┐рдП,
FillupHistory рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдФрд░
рдПрд╡рд░реЗрдЬрдлреБрд▓ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛рд╡ рдХреА рд╕реВрдЪрдирд╛
рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдП рдХрд▓реЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП CollectionChanged рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╕реЗ рдЬреБрдбрд╝реА рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ, рдЬрдм рднреА рдХрд▓реЗрдХреНрд╢рди рдореЗрдВ рдХреЛрдИ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбрд┐рд▓реАрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ
рдПрд╡рд░реЗрдЬрдлреБрд▓ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдорд┐рд▓реЗрдЧрд╛ред
рдЕрдЧрд▓рд╛ рднрд╛рдЧ