Microsoft-ui-xaml: рдЪрд░реНрдЪрд╛: рдЖрдзреБрдирд┐рдХ рд╡рд┐рдирдпреВрдЖрдИ рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб - рдЗрдирдкреБрдЯ рдЖрд╡рд╢реНрдпрдХ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЕрдХреНрддреВре░ 2019  ┬╖  81рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/microsoft-ui-xaml

рдЪрд░реНрдЪрд╛: рдЖрдзреБрдирд┐рдХ рд╡рд┐рдирдпреВрдЖрдИ рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб

рдЕрд░реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдпреЛрдВ! рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХрдореНрдпреБрдирд┐рдЯреА рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рдЯреБрдХрдбрд╝рд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдореВрд▓ рд╡рд┐рдирдпреВрдЖрдИ рдирд┐рдпрдВрддреНрд░рдг (!!) рдореЗрдВ рд╕реНрдирд╛рддрдХ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреВрд░реНрдг-рд╕реНрддрд░реАрдп рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред

рдореИрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдкрд░ рдЖрдкрдХрд╛ рдЗрдирдкреБрдЯ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдо рдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдордп рд╣реИ:

  1. рдХреБрдЫ рдЗрдЪреНрдЫрд╛-рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
  2. рдпреВрдЖрдИ, рдпреВрдПрдХреНрд╕ рдФрд░ рд╕рдордЧреНрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╣рд╛рдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
  3. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдкрд╕рдВрдж/рдирд╛рдкрд╕рдВрдж рд╣реИ?
  4. рдРрд╕реЗ рдХреМрди рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
  5. рдХреНрдпрд╛ рдРрд╕реЗ рдХреЛрдИ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рдЯ рд╣реЛ рд╕рдХреЗ?

рд╕рднреА рдХреЛ рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж! рдХреБрдЫ рдкреБрдирд╢реНрдЪрд░реНрдпрд╛ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВред

рд╕рдореНрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХреНрд╕


рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрд░ рдкрдврд╝реЗрдВ
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде
WCT рдореЗрдВ рдореМрдЬреВрджрд╛ ред

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

рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА : рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВред рдореИрдВ html рджреБрдирд┐рдпрд╛ рд╕реЗ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЙрдзрд╛рд░ рд▓реЗ рд░рд╣рд╛ рд╣реВрдБред

рдкрд╕рдВрджреАрджрд╛ рдкрдВрдХреНрддрд┐ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдЖрд╕рд╛рди рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВред

1

рджреГрд╢реНрдпрдорд╛рди рдХреЙрд▓рдо, рдХреЙрд▓рдо рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдХреЙрдкреА, рдкреНрд░рд┐рдВрдЯ . рдХрд╛ рдЪрдпрди / рдЪрдпрди рд░рджреНрдж рдХрд░реЗрдВ

2

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВред

3

рд╕реНрддрдВрдн рдЦреАрдВрдЪрдХрд░ рд╕реНрддрдВрдн рдкреБрди: рдХреНрд░рдорд┐рдд рдХрд░рдирд╛ред

4

рдХреЙрд▓рдо рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ

5

рдлрд┐рдХреНрд╕реНрдб рд╣реИрдбрд░ - рдЬрд╣рд╛рдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рднреА рд╣реЗрдбрд░ рд╢реАрд░реНрд╖ рдкрд░ рд░рд╣рддрд╛ рд╣реИ

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдгред

6

рдкрдВрдХреНрддрд┐ рд╕рдореВрд╣рди

7

рдкрдВрдХреНрддрд┐ рдХреНрд░рдо рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ

8

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╕рднреА рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдорд╛рдирдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ html рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЕрд▓рдЧ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЦреБрдж рдХреЛ рдХрдИ рдмрд╛рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕реВрдЪреАрджреГрд╢реНрдп рдкрд░ рдмрд╕рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╣рдЯрд╛рдПрдВ, рдзреНрд╡рдЬ рдЖрджрд┐ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рд╛рдЗрдб рд╕реНрд╡рд╛рдЗрдк рдХрд░реЗрдВред

sideswipe

рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ "рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐" рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИрдВ, рдЬреЛ рдЕрднреА рднреА WinUI рд╕реЗ рдХрдореА рд╣реИ, рд╡рд╣ рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ Microsoft Pivot Control рдХреА рддрд░рд╣ рдПрдХ рдореВрд▓ WinUI рд╕реБрд╡рд┐рдзрд╛ (рдирд┐рдпрдВрддреНрд░рдг) рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдПрдордПрд╕ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ рдФрд░ рдпрд╣ рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рднрдпрд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдг рдерд╛ред

pivot1

https://www.youtube.com/watch?v=ZJIkQ9nebKY

рдЕрдм рдЖрдк рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ WinUI рдХреЛ рд╕рднреА рдореВрд▓рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рджреЗрд╢реА рдРрдкреНрд╕" рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рднрдпрд╛рдирдХ рдПрдирд┐рдореЗрд╢рди рдФрд░ рдиреЗрддреНрд░рд╣реАрди рдЖрдХрд░реНрд╖рдХ рдирд┐рдпрдВрддреНрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХрджрдо рдЖрдЧреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди) рдХреЗ рдмрд╛рдж рд╣рдо 2 рдбреА / 3 рдбреА рдПрдирд┐рдореЗрд╢рди рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕рдорддрд╛рдк рдордВрдбрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╣реИ; ))

uwp2

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

рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдореЛрдбред рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдФрд░ рдЙрд╕рдХреЗ рдЪрд┐рд╣реНрди рджреГрд╢реНрдп рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╢реАрд░реНрд╖ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдЧреНрд░рд┐рдб рдореЗрдВ рдЖрдЗрдХрди/рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ WinUI рдмрдирд╛рдо Win32 рдХрд╛ рдПрдХ рдкрд╣рд▓реВ рд╣реИ рдЬреЛ 1: 1 рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ - рдФрд░ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг, рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╡рд╛рдж - рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ред рдпрд╣ рд╡рд╣ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдВрддрд░рд┐рдХ рдХрд╕реНрдЯрдо рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВред

рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА : рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВред рдореИрдВ html рджреБрдирд┐рдпрд╛ рд╕реЗ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЙрдзрд╛рд░ рд▓реЗ рд░рд╣рд╛ рд╣реВрдБред

рдкрд╕рдВрджреАрджрд╛ рдкрдВрдХреНрддрд┐ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдЖрд╕рд╛рди рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВред

1

рджреГрд╢реНрдпрдорд╛рди рдХреЙрд▓рдо, рдХреЙрд▓рдо рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдХреЙрдкреА, рдкреНрд░рд┐рдВрдЯ . рдХрд╛ рдЪрдпрди / рдЪрдпрди рд░рджреНрдж рдХрд░реЗрдВ

2

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВред

3

рд╕реНрддрдВрдн рдЦреАрдВрдЪрдХрд░ рд╕реНрддрдВрдн рдкреБрди: рдХреНрд░рдорд┐рдд рдХрд░рдирд╛ред

4

рдХреЙрд▓рдо рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ

5

рдлрд┐рдХреНрд╕реНрдб рд╣реИрдбрд░ - рдЬрд╣рд╛рдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рднреА рд╣реЗрдбрд░ рд╢реАрд░реНрд╖ рдкрд░ рд░рд╣рддрд╛ рд╣реИ

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдгред

6

рдкрдВрдХреНрддрд┐ рд╕рдореВрд╣рди

7

рдкрдВрдХреНрддрд┐ рдХреНрд░рдо рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ

8

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╕рднреА рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдорд╛рдирдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ html рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЕрд▓рдЧ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЦреБрдж рдХреЛ рдХрдИ рдмрд╛рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕реВрдЪреАрджреГрд╢реНрдп рдкрд░ рдмрд╕рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╣рдЯрд╛рдПрдВ, рдзреНрд╡рдЬ рдЖрджрд┐ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рд╛рдЗрдб рд╕реНрд╡рд╛рдЗрдк рдХрд░реЗрдВред

sideswipe

рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ "рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐" рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИрдВ, рдЬреЛ рдЕрднреА рднреА WinUI рд╕реЗ рдХрдореА рд╣реИ, рд╡рд╣ рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ Microsoft Pivot Control рдХреА рддрд░рд╣ рдПрдХ рдореВрд▓ WinUI рд╕реБрд╡рд┐рдзрд╛ (рдирд┐рдпрдВрддреНрд░рдг) рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдПрдордПрд╕ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ рдФрд░ рдпрд╣ рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рднрдпрд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдг рдерд╛ред

pivot1

https://www.youtube.com/watch?v=ZJIkQ9nebKY

рдЕрдм рдЖрдк рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ WinUI рдХреЛ рд╕рднреА рдореВрд▓рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рджреЗрд╢реА рдРрдкреНрд╕" рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рднрдпрд╛рдирдХ рдПрдирд┐рдореЗрд╢рди рдФрд░ рдиреЗрддреНрд░рд╣реАрди рдЖрдХрд░реНрд╖рдХ рдирд┐рдпрдВрддреНрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХрджрдо рдЖрдЧреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди) рдХреЗ рдмрд╛рдж рд╣рдо 2 рдбреА / 3 рдбреА рдПрдирд┐рдореЗрд╢рди рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕рдорддрд╛рдк рдордВрдбрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╣реИ; ))

uwp2

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

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдирдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЯреЗрд▓реАрд░рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ WinUI рдЯреАрдо рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдпрдВрддреНрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИред

рдЯреВрд▓рдХрд┐рдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдирдП рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  • рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ DataGridRow рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
  • DataGridRows рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдИрд╡реЗрдВрдЯ рд╕реНрд╡рдпрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрдмрд▓рдЯреИрдкреНрдб рдФрд░ рд░рд╛рдЗрдЯрдЯреИрдкреНрдбред
  • рд╕реНрдореВрдж рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ
  • рд╕реЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди
  • рдПрдХ DataGridColumn рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрдВрдХреНрддрд┐ рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛
  • рд░рдВрдЧреЛрдВ рдХрд╛ рдЖрд╕рд╛рди рдЕрдиреБрдХреВрд▓рди, рдЖрджрд┐ред

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

123456

IMG_1820 (1)

@NoahFeller рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реВрдЪреА рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИред рдЧреНрд░рд┐рдб рд╡реНрдпреВ рдХреЗ рд╕рд╛рде рдЖрдк рдСрд░реНрдбрд░ рдХреЛ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕реЙрд░реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдЗрдзрд░-рдЙрдзрд░ рдирд╣реАрдВ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИред

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

@NoahFeller рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реВрдЪреА рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИред рдЧреНрд░рд┐рдб рд╡реНрдпреВ рдХреЗ рд╕рд╛рде рдЖрдк рдСрд░реНрдбрд░ рдХреЛ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕реЙрд░реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдЗрдзрд░-рдЙрдзрд░ рдирд╣реАрдВ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИред

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

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

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

рдЗрд╕реЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдмрдирд╛рдПрдВ

рдореИрдВ рд╕рд┐рдВрдЧрд▓ рд╕реЗрд▓ рд╕рд┐рд▓реЗрдХреНрд╢рди рдореЛрдб, рдПрдХреНрд╕реЗрд▓ рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп WinForms DataGridView рдХреЗ рд╕рдЯреАрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдб рд╣реИред

рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧреАрдХрд░рдг рд╣реЛрдирд╛ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд╕рд╛рджреЗ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдЬреИрд╕реЗ рд░реАрд╕рд╛рдЗрдХреНрд▓рд┐рдВрдЧ рд╕реЗ рд▓реЗрдХрд░ рдбреЗрдЯрд╛ рдкреЗрдЬрд┐рдВрдЧ рдЬреИрд╕реА рдЕрдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рддрдХ)
рдЕрдХреНрд╕рд░ (рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рдбреЗрд╕реНрдХрдЯреЙрдк рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдореЗрдВ) рдЕрджреНрд╡рд┐рддреАрдп рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реЗ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдкреЗрдЬрд┐рдВрдЧ рдХрдВрдЯреНрд░реЛрд▓ #268 рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╕рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХрд┐рд╕реА рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реБрдХ рдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рд╕рдореБрджрд╛рдп рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдореИрдВ рдХреБрдЫ рд╕рдордп рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдореЛрд░реНрдЪреЗ рдкрд░ рдХрд┐рд╕реА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЪреАрдЬрд╝ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ WinUI 3.0 рд╕реЗ рдЧрд╛рдпрдм рдЕрдВрддрд┐рдо рдирд┐рдпрдВрддреНрд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреГрдкрдпрд╛, рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рди рд▓рдЧрд╛рдПрдВред рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдПрдкреАрдЖрдИ рдХрд╛ 100% рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) - рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдирд╣реАрдВред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдЕрдзрд┐рдХ рдлреАрдЪрд░-рдкреВрд░реНрдг рдерд╛ рдФрд░ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрдо рдмрдЧ рд╣реИрдВред

рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЯреВрд▓рдХрд┐рдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрдзрди рдХрд╛ рднреА рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЖрдП :

  • RowPressed : рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╣реЛ рд╕рдХреЗред
  • RowDoublePressed : RowPressed рдХреЗ рд╕рдорд╛рди, рдмрд╕ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рд╕рдВрд╕реНрдХрд░рдгред
  • ColumnHeaderPressed : рдЬрдм рднреА рдХреЛрдИ рдХреЙрд▓рдо рд╣реЗрдбрд░ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдм рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рджрд┐рд╢рд╛ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдЕрджреНрдпрддрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрд╕реНрдЯрдо рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдореЗрдиреВ рдпрд╛ рдХреЙрд▓рдо рдХреЛ рдЪрд╛рд▓реВ/рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
  • ColumnHeaderDoublePressed : ColumnHeaderPressed рдХреЗ рд╕рдорд╛рди, рдмрд╕ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рд╕рдВрд╕реНрдХрд░рдгред
  • ColumnHeaderWidthChanged : рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╛рдл рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред UI рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

  • FirstRowInView() : рд░рд╛рдЬреНрдп рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреБрдХреНрдд рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рджреЗрддрд╛ рд╣реИред
  • VerticalOffset : рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ/рд╕реЗрдЯ рдХрд░реЗрдВ
  • рдХреНрд╖реИрддрд┐рдЬ рдСрдлрд╕реЗрдЯ: рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд/рд╕реЗрдЯ рдХрд░реЗрдВ

@RBrid рдиреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рднреА рдорджрдж рдХреА:

рд╕реБрдЭрд╛рдП рдЧрдП рдирдП рдЗрд╡реЗрдВрдЯ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЗрд╡реЗрдВрдЯ рдореЗрдВ рдХреБрдЫ рд╕реБрдзрд╛рд░:

| рдШрдЯрдирд╛ | рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ |
| :--- | :--- |
| ContextRequestedForColumnHeader | рд╕реНрддрдВрдн рд╢реАрд░реНрд╖рд▓реЗрдЦ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ (рдпрд╛ рдЕрдиреНрдп рдлрд╝реНрд▓рд╛рдпрдЖрдЙрдЯ) рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдПред Windows.UI.Xaml.UIElement.ContextRequested рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдПред |
| ContextCanceledForColumnHeader | Windows.UI.Xaml.UIElement.ContextCanceled рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдПред |
| ContextRequestedForRow | рдХрд┐рд╕реА рдкрдВрдХреНрддрд┐ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ (рдпрд╛ рдЕрдиреНрдп рдлрд╝реНрд▓рд╛рдпрдЖрдЙрдЯ) рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдПред Windows.UI.Xaml.UIElement.ContextRequested рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред |
| ContextCanceledForRow | Windows.UI.Xaml.UIElement.ContextCanceled рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред |
| RowTapped | рдкрд╣рд▓реЗ рд╕реЗ рдЪреБрдиреА рдЧрдИ рдкрдВрдХреНрддрд┐ рдХреЛ рдЯреИрдк рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВред |
| RowDoubleTapped | Windows.UI.Xaml.UIElement.DoubleTapped рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред |
| RowRightTapped | Windows.UI.Xaml.UIElement.RightTapped рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред ContextRequestedForRow рднреА рджреЗрдЦреЗрдВред |
| PointerPressedInRow | Windows.UI.Xaml.UIElement.PointerPressed рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред |
| PointerReleasedInRow | Windows.UI.Xaml.UIElement.PointerReleased рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред |
| PointerMovedInRow | Windows.UI.Xaml.UIElement.PointerMoved рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред рд╕рдВрднрд╡рддрдГ PointerMovedInRow рдХреЗрд╡рд▓ рддрднреА рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдЧрд╛ рдЬрдм рдкреЙрдЗрдВрдЯрд░ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред |
| ColumnHeaderTapped | рдкрд╣рд▓реЗ рд╕реЗ рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЛ рдЯреИрдк рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВред |
| ColumnHeaderDoubleTapped | Windows.UI.Xaml.UIElement.DoubleTapped рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдПред |
| ColumnHeaderRightTapped | Windows.UI.Xaml.UIElement.RightTapped рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдПред ContextRequestedForColumnHeader рднреА рджреЗрдЦреЗрдВред |
| ColumnHeaderWidthChanged | рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ColumnHeaderResized ред рдШрдЯрдирд╛ args рдореЗрдВ, рдПрдХ рдмреВрд▓рд┐рдпрди рдЧреБрдг рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШрдЯрдирд╛ рддрд░реНрдХреЛрдВ рдХреЛ рдпрд╣ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рд╛/рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред |
| SortOrderChanged | рдЬрдм рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреА рд╕реВрдЪреА рдмрджрд▓рддреА рд╣реИ рддреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдХрд┐рд╕реА рднреА рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рдХреЛ рдЖрд░реЛрд╣реА рдмрдирд╛рдо рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рднреА рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред рдИрд╡реЗрдВрдЯ args рдореЗрдВ, рдПрдХ рдмреВрд▓рд┐рдпрди рдкреНрд░реЙрдкрд░реНрдЯреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдИрд╡реЗрдВрдЯ Sorting рднреА рджреЗрдЦреЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рдИрд╡реЗрдВрдЯ SortOrderChanged рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж Sorting рдИрд╡реЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЕрдЧрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд░рджреНрдж рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред |
| Sorting | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдИрд╡реЗрдВрдЯ рдЖрд░реНрдЧреНрд╕ рдореЗрдВ рдПрдХ рд╕реЗрдЯрдЯреЗрдмрд▓ рдмреВрд▓рд┐рдпрди рдкреНрд░реЙрдкрд░реНрдЯреА рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдЕрдорд╛рдиреНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреВрд▓рд┐рдпрди рдЧреБрдг рднреА рдЬреЛрдбрд╝реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред |
| ColumnSortDirectionChanged | рдпрд╣ рдИрд╡реЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд SortOrderChanged рдИрд╡реЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рд╕реЙрд░реНрдЯ-рджрд┐рд╢рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ SortOrderChanged рднреА рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред |
| ColumnDisplayIndexChanged | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдПрдХ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдИрд╡реЗрдВрдЯ args рдореЗрдВ) рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╛рде рд╣реА, рдХреГрдкрдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд░реЗрдВ рдХрд┐ ColumnDisplayIndexChanged рдФрд░ ColumnReordered рдИрд╡реЗрдВрдЯ рдХрд╛ рд╣реЛрдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдШрдЯрдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред |
| ColumnReordered | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдПрдХ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред |
| SelectionChanged | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдПрдХ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдИрд╡реЗрдВрдЯ args рдореЗрдВ) рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред |
| CopyingRowClipboardContent | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдИрд╡реЗрдВрдЯ args рдореЗрдВ рдПрдХ рдмреВрд▓рд┐рдпрди рдкреНрд░реЙрдкрд░реНрдЯреА рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЙрдкреА рдХреЗ рдмрдЬрд╛рдп рдСрдкрд░реЗрд╢рди рдХрд╛рдЯрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдХрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдПрдВред |
| CuttingRowClipboardContent | рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рдХрдВрдЯреНрд░реЛрд▓-рдПрдХреНрд╕ рд╣реЙрдЯрдХреА, рд╕рдВрджрд░реНрдн рдореЗрдиреВ, рдпрд╛ рдЕрдиреНрдпрдерд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВ рдЬреЛ CopyingRowClipboardContent рдХреЛ рдХреЙрдкреА рдФрд░ рдХрдЯ рдСрдкрд░реЗрдЯреЛрдЗрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧреА |
| PastingRowClipboardContent | рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдПрдХ рдРрд╕реА рдШрдЯрдирд╛ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рдХрдВрдЯреНрд░реЛрд▓-рд╡реА рд╣реЙрдЯрдХреА, рд╕рдВрджрд░реНрдн рдореЗрдиреВ, рдпрд╛ рдЕрдиреНрдпрдерд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)ред |

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

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

рдЗрд╕ред

'рдореЙрдбрд░реНрди' рдХрд╛ рдЕрд░реНрде рд╣реИ рд╣рд▓реНрдХрд╛ рдФрд░ рддреЗрдЬрд╝, рдФрд░ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдРрдкреНрд╕ рдЖрдорддреМрд░ рдкрд░ рдЙрдЪрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдЦреЛрдЬрдиреЗ рдФрд░ рддрд▓рд╛рд╢рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрди рдХреЗ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рдкреЗрдЬрд┐рдВрдЧ, рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдПрд╕рд┐рдВрдХреНрд╕ рдЗрдВрдХреНрд░реАрдореЗрдВрдЯрд▓ рд▓реЛрдбрд┐рдВрдЧ, рдЕрдВрддрд╣реАрди рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ - рдпреЗ рд╕рднреА рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЗ рд╕реНрдЯреЗрдкрд▓ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВред

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

@dotMorten

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓рд╛рдЦреЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдпрд╛ рдЕрдзрд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред

рдореЗрд░реА рднреА рдпрд╣реА рдХрд╛рдордирд╛ рд╣реИред рдПрдХ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рд╕рд╣рд╛рдпрддрд╛, рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди), рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛-рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛-рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рдирд╣реАрдВ рд╣реИ)ред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ Windows.UI.Xaml.Data.Binding рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдпрдорд╛рди рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓/рдХреЙрд▓рдо рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХрд╛ рд╣реИред

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

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ (рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ), рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЗрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрдиреБрд░реЛрдзрд┐рдд рдорд╛рди рдХреЛ рддреБрд░рдВрдд рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп Task рдпрд╛ IAsyncOperation<TResult> рд▓реМрдЯрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди Task рдФрд░ IAsyncOperation<TResult> рдмрд┐рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рдпрджрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

  1. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдкрдВрдХреНрддрд┐ рдЖрдИрдбреА 50001 рдореЗрдВ рд╕реЗрд▓/рдХреЙрд▓рдо 5 рдХреЗ рдорд╛рди рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрдВрдХреНрддрд┐ рдЖрдИрдбреА 50001 рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЙрд▓рдо рдорд╛рдиреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИред
  2. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдпрд╛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдРрдк рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо/рдкрдВрдХреНрддрд┐ рдпрд╛ рдкреВрд░реА рдкрдВрдХреНрддрд┐ рдХреЗ рдбреЗрдЯрд╛ рдорд╛рдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИред
  3. рдРрдк рдЕрдиреБрд░реЛрдзрд┐рдд рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  4. рдРрдк рдЕрдиреБрд░реЛрдзрд┐рдд рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рджреЗрддрд╛ рд╣реИред
  5. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд╡рд╣ рдХрд░рддрд╛ рд╣реИред

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

@Pinox рдЙрд╕ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рд╡реЗ рдЕрдЪреНрдЫреЗ рдПрдирд┐рдореЗрд╢рди!) - рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ html рдореЗрдВ рдкрд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЗрд░рдгрд╛ рдмрд┐рдВрджреБ рд╣реИрдВ рдФрд░ рд╕рд░рд▓ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╕рд╣реЗрдЬ рд░рд╣рд╛ рд╣реЛрдЧрд╛!

@verelpode , @robloo , @ duke7553 рд╣рд╛рдБ

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

@ Laz3rPanth3r, @robloo, @keeganatorr рд╣рдо рдЖрдк рдЬреЛрд░ рд╕реЗ рд╕реБрдирд╛ рд╣реИ рдФрд░ datagrids рдХрд┐ WPF рдФрд░ рдЕрдиреНрдп рдпреВрдЖрдИ рдЪреМрдЦрдЯреЗ рдХреЗ рд╣реИрдВ рдкрд╕рдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рд╕реНрдкрд╖реНрдЯ - рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд╛рдЬрд╝рд╛ рдореЗрдВ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ!

рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд░ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рдХреБрдЫ рдФрд░ рд╕реБрдЭрд╛рдП рдЧрдП рд╕рдВрд╡рд░реНрджреНрдзрди рд╣реИрдВред

DataGridColumn рдХреЗ рдЕрдзрд┐рдХ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

DataGridColumn рд╡рд░реНрддрдорд╛рди рдЙрдкрд╡рд░реНрдЧ/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдореИрдВ DataGridColumn рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирдП рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

| рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрд╡рд░реНрдЧ | рд╡рд┐рд╡рд░рдг |
| :--- | :--- |
| DataGridIconColumn | рдПрдХ рд╕реВрдЪреА рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХ рдЖрдЗрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ DataGridColumn рдирд╛рдордХ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕рдХрд╛ рдирд╛рдо DataGridIconColumn рд╣реИ рдЬреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рд╕реЗрд▓ рдорд╛рди рдХреЛ Windows.UI.Xaml.Controls.IconSource рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ IconSource рдЙрджрд╛рд╣рд░рдг (рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ IconSource рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред |
| рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЗрдореЗрдЬ рдХреЙрд▓рдо | DataGridImageColumn рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЪрд╛рд╣рд┐рдП DataGridIconColumn рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП Windows.UI.Xaml.Media.ImageSource рдХреЗ рдмрдЬрд╛рдп Windows.UI.Xaml.Controls.IconSource ред |
| рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрдбреЗрдЯрдЯрд╛рдЗрдо рдХреЙрд▓рдо | рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд┐рдирд╛рдВрдХ рдФрд░/рдпрд╛ рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реЗрд▓ рдорд╛рди рдХреЛ System.DateTimeOffset рдпрд╛ System.DateTime (рджреЛрдиреЛрдВ рд╕рдорд░реНрдерд┐рдд) рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реЗрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╛рда рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ DataGridDateTimeColumn рд╡рд░реНрдЧ рдореЗрдВ рд╕реНрд╡рд░реВрдкрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕/рдЧреБрдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдирд╛рдВрдХ/рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЫрдБрдЯрд╛рдИ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред |
| рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрдЯрд╛рдЗрдорд╕реНрдкреИрдирдХреЙрд▓рдо | рд╕реЗрд▓ рдорд╛рди рдХреЛ System.TimeSpan рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реЗрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╛рда рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ DataGridTimeSpanColumn рд╡рд░реНрдЧ рдореЗрдВ рд╕реНрд╡рд░реВрдкрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕/рдЧреБрдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЫрдБрдЯрд╛рдИ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕реЗ TimeSpan рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рди рдХрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рдХреЛред |
| DataGridDataSizeColumn | рд╕реЗрд▓ рдорд╛рди рдХреЛ System.Int64 , UInt64 , Int32 , рдпрд╛ UInt32 (рд╕рднреА рд╕рдорд░реНрдерд┐рдд) рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдХрд╛рд░-рдЗрди-рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ) ) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1572864 рдХреЛ "1.5 рдПрдордмреА" рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ 1572864/1024/1024 = 1.5ред рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг DataGridDataSizeColumn рд╡рд░реНрдЧ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕/рдЧреБрдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЫрдБрдЯрд╛рдИ рдореВрд▓ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рди рдХрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рдХрд╛ред |
| рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╕реНрдЯрдо рдХреЙрд▓рдо | рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЪрд╛рд╣рд┐рдП DataGridTemplateColumn рдмрд┐рдирд╛ рдЫреЛрдбрд╝рдХрд░ Windows.UI.Xaml.DataTemplate ред рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬреАрдпреВрдЖрдИ рддрддреНрд╡ рдЙрдкрдЯреНрд░реА рдХреЛ рдЙрддреНрдкрдиреНрди рдФрд░/рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐/рдХреЙрд▓рдмреИрдХ рдпрд╛ рдШрдЯрдирд╛ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
| рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрд▓рдо | рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдРрд╕реЗ рдЧреБрдг рдпрд╛ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдРрдкреНрд╕ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдЯреВ-рдЯреЗрдХреНрд╕реНрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред |

DataGridCustomColumn рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

public class DataGridCustomColumn : DataGridColumn
{
    public event EventHandler<DataGridDisplayingCellEventArgs> DisplayingCell;
}

public class DataGridDisplayingCellEventArgs : EventArgs
{
    public DataGridColumn Column { get; }
    public object CellValue { get; }
    public Windows.UI.Xaml.UIElement CellUIElement { get; set; } // settable
}

рдЬрдм рдШрдЯрдирд╛ DataGridCustomColumn.DisplayingCell рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЙрддреНрдкрдиреНрди рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП UIElement рд╕рдмрдЯреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DataGridDisplayingCellEventArgs.CellValue , рдФрд░ рдЧреБрдг рд╕реЗрдЯ DataGridDisplayingCellEventArgs.CellUIElement рдХрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UIElement рд╕рдмрдЯреНрд░реА, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред

рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЗрд╕ рдИрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕рдВрдкрддреНрддрд┐ DataGridDisplayingCellEventArgs.CellUIElement рдХреЛ UIElement рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд╣рд▓реЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ/рд░реАрд╕рд╛рдпрдХрд▓ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рд╕рдХреЗред рд╡рд╣реА UIElement рд╕рдмрдЯреНрд░реА (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ DataGridDisplayingCellEventArgs.CellValue рдореЗрдВ рднрд┐рдиреНрди рдорд╛рди рдХреЗ рд╕рд╛рде)ред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдпрд╛ рддреЛ рдЙрд╕реА UIElement рд╕рдмрдЯреНрд░реА рдХреЛ рд░реАрд╕рд╛рдпрдХрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдпрд╛ рд╕рдВрдкрддреНрддрд┐ DataGridDisplayingCellEventArgs.CellUIElement рдХреЛ рдирдП рдмрдирд╛рдП рдЧрдП UIElement рд╕рдмрдЯреНрд░реА рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред

рдЙрдкрд╡рд░реНрдЧ DataGridCustomColumn рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдирдП DisplayingCell рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реАрдзреЗ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ DataGridColumn рдореЗрдВ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдШрдЯрдирд╛ DataGridColumn.DisplayingCell DataGridColumn рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди UIElement рдХреЗ рдЕрдиреБрдХреВрд▓рди рдпрд╛ рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреА рд╣реИред

рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж DataGridTextColumn , рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ/рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ System.Object.ToString рдЖрд╣реНрд╡рд╛рди рдХрд░рдХреЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐/рдХреЙрд▓рдмреИрдХ рдпрд╛ рдИрд╡реЗрдВрдЯ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдРрдкреНрд╕ рдХреЛ рдЗрд╕ рдореВрд▓реНрдп-рд╕реЗ-рдкрд╛рда рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЙрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдРрдкреНрд╕ рдХреЛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП System.Collections.IComparer рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

public class DataGridTextColumn : DataGridColumn
{
    public System.Collections.IComparer Comparer { get; set; }
    public DataGridCellValueToToStringConverter CellValueToToStringConverter { get; set; }
}

public delegate string DataGridCellValueToToStringConverter(object sourceObject);

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, Comparer рд╕рдВрдкрддреНрддрд┐ рдХреЛ DataGridTextColumn рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП Comparer рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реАрдзреЗ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ DataGridColumn рдореЗрдВ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдРрдкреНрд╕ DataGridColumn рдХреЗ рд╕рднреА рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕реА рддрд░рд╣ CellValueToToStringConverter рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ DataGridColumn рдореЗрдВ рднреА рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ DataGridColumn рдЙрдкрд╡рд░реНрдЧ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдорд╛рди рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдкрд╛рда рдФрд░ рдЧреИрд░-рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдРрдкреНрд╕ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреНрдп рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред)

DataGridIconColumn рдпрд╛ DataGridImageColumn рдЪреБрдиреЗ рдЬрд╛рдиреЗ рдкрд░ рдкреБрди: рдЫрдБрдЯрд╛рдИ рдХрд░рдирд╛: рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЖрдЗрдХрди рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • рдмрд╕ рдЕрдВрддрд┐рдо-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ DataGridIconColumn рдпрд╛ DataGridImageColumn рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХрд╛ рдЪрдпрди (рдХреНрд░рдордмрджреНрдз) рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рди рджреЗрдВред
  • IconSource рд╡рд░реНрдЧ рдореЗрдВ AlternativeText рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВред рдЬрдм DataGridIconColumn рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рдпрд╣ рд╕реЗрд▓ рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб/рдХреЙрдкреА рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ AlternativeText рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
  • рдпрд╛ рддреЛ DataGridColumn рдпрд╛ DataGridIconColumn рдПрдХ рд╕реЗрдЯрдЯреЗрдмрд▓ Comparer рд╕рдВрдкрддреНрддрд┐ (рдкреНрд░рдХрд╛рд░ System.Collections.IComparer ) рдмрдирд╛рдПрдВред

рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ/рд╡рд╕реНрддреБрдУрдВ рддрдХ рдкрд╣реБрдВрдЪ

рдХреГрдкрдпрд╛ рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ/рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпреЗ рдЧреБрдг рдореМрдЬреВрдж рд╣реИрдВ:

public int SelectedIndex { get; set; }
public object SelectedItem { get; set; }
public System.Collections.IList SelectedItems { get; }

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХрднреА-рдХрднреА рдореБрдЭреЗ рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрд░реЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдг рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

public DataGridRow SelectedRow { get; set; }
public IList<DataGridRow> SelectedRows { get; }

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднрд┐рдиреНрдирддрд╛ рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕рд╣рд╛рдпрдХ рд╣реИ:

public DataGridRow SelectedRow { get; }
public IReadOnlyCollection<DataGridRow> SelectedRows { get; }

рдпрджрд┐ DataGridRow рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛

рд╕рд╛рде рд╣реА, рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж SelectedIndex рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдЪрдпрдирд┐рдд рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдЪрдпрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд SelectedIndexes рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

public IList<int> SelectedIndexes { get; } // Suggestion.
public int SelectedIndex { get; set; } // Already exists.

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

public IList<int> SelectedOrdinals { get; }
public int SelectedOrdinal { get; set; }

рдореИрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрд░реЛ рдФрд░/рдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЙрд▓рдо рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╡рд┐рдзрд┐ рдореМрдЬреВрдж рд╣реИ:

public void ScrollIntoView(object item, DataGridColumn column);

рдореИрдВ рдЗрди 2 рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж ScrollIntoView рдкрджреНрдзрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

public void ScrollIntoView(DataGridRow row, DataGridColumn column);
public void ScrollItemIntoView(object item, DataGridColumn column);

рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рд╕реЙрд░реНрдЯ-рдСрд░реНрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

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

рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ:

public IReadOnlyList<DataGridColumn> SortOrder { get; set; }

рдЙрдкрд░реЛрдХреНрдд рдЧреИрд░-рдЖрджрд░реНрд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ DataGridColumn.SortDirection рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдРрдкреНрд╕ рдЗрд╕реЗ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд SortOrder рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред
  2. рдкреНрд░рддреНрдпреЗрдХ рдЪрдпрдирд┐рдд рдХреЙрд▓рдо рдХреА SortDirection рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗрдЯ рдХрд░реЗрдВ (рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪрд░рдг рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ)ред

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

public class DataGrid
{
    public IReadOnlyList<DataGridColumnAndDirection> SortOrder { get; set; }
    ...
}

public struct DataGridColumnAndDirection
{
    public readonly DataGridColumn Column;
    public readonly DataGridSortDirection SortDirection;
    public DataGridColumnAndDirection(DataGridColumn, DataGridSortDirection) { ... }
}

рдиреЛрдЯ рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ IReadOnlyList<DataGridColumnAndDirection> рдирд╣реАрдВ IList<DataGridColumnAndDirection> рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдРрдкреНрд╕ SortOrder рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╕реВрдЪреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реВрдЪреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдРрдкреНрд╕ рдХреЛ SortOrder рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЙрд╕ рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЙрдкреА рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдВрдкреВрд░реНрдг рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рд╕реВрдЪреА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдХрдИ рдорд╣рдВрдЧреЗ рд░рд┐рд╕реЙрд░реНрдЯреНрд╕ рд╕реЗ рдмрдЪ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм DataGrid.SortOrder рдХреЛ рдПрдХ рдирдИ рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирдИ SortOrder рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд DataGridColumn.SortDirection рдкреНрд░реЙрдкрд░реНрдЯреА рднреА рд╕реЗрдЯ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдИ рд░рд┐рд╕реЙрд░реНрдЯреНрд╕ рдкреИрджрд╛ рдХрд┐рдП рдмрд┐рдирд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ DataGrid.SortOrder[i].SortDirection DataGridColumn.SortDirection рдмрд░рд╛рдмрд░ рд╣реИред

рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЙрд▓рдо рдСрд░реНрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

рдЬрдм рдРрдкреНрд╕ рдЦреЛрд▓реЗ рдФрд░ рдмрдВрдж рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓рдо рдХреЗ рдЕрдВрддрд┐рдо-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХреНрд░рдо рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдзрд┐рдорд╛рдирддрдГ рдПрдХ рд╣рд┐рдЯ рдореЗрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╕рдВрдкрддреНрддрд┐ DataGridColumn.DisplayIndex рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдРрдкреНрд╕ DataGrid.Columns рдореЗрдВ рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдХреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ DisplayIndex рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DisplayIndex рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА рдРрдк рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдПрдХ рдХреЙрд▓рдо рдХреЗ DisplayIndex рдХреЛ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдХреЗ рд╕рдорд╛рди DisplayIndex рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЗрд╕реЗ рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдИ рдорд╣рдВрдЧреЗ рдкреБрдирд░реНрд░рдЪрдирд╛рдУрдВ рдФрд░/рдпрд╛ рдкреБрдирд░реНрдЧрдгрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ ColumnDisplayOrder рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

public IReadOnlyList<DataGridColumn> ColumnDisplayOrder { get; set; }

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ SortOrder рд▓рд┐рдП рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛, ColumnDisplayOrder рдЬрд╛рдирдмреВрдЭрдХрд░ IReadOnlyList<DataGridColumn> рди рдХрд┐ IList<DataGridColumn> рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдПрдХ рд╣рд┐рдЯ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм DataGrid.ColumnDisplayOrder рдХреЛ рдПрдХ рдирдИ рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ DataGridColumn.DisplayIndex рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ред

рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЙрд▓рдо рдЫрд┐рдкрд╛рдиреЗ/рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ

рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЧреБрдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк DataGridColumn.CanUserReorder рдЖрджрд┐, рдореИрдВ CanUserChangeVisibility рдореЗрдВ DataGridColumn рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред рдЬрдм DataGridColumn.CanUserChangeVisibility рд╕рддреНрдп рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдкрддреНрддрд┐ DataGridColumn.Visibility рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди GUI рддрддреНрд╡реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

DataGrid.RowDetailsTemplate ( Windows.UI.Xaml.DataTemplate ) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкрдВрдХреНрддрд┐-рд╡рд┐рд╡рд░рдг рдЬреАрдпреВрдЖрдИ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдПрдкреАрдЖрдИ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ: рд╢рд╛рдпрдж рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдШрдЯрдирд╛ DataGrid.LoadingRow рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкрддреНрддрд┐ DataGridRowDetailsEventArgs.DetailsElement рдмрджрд▓рдХрд░ рдХрд░реЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдХрд┐ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ UIElement рдХреЛ рд╕реНрд╡рдпрдВ рдЙрддреНрдкрдиреНрди (рдпрд╛ рдЕрдкрдбреЗрдЯ) рдХрд░ рд╕рдХреЗ рдФрд░ DetailsElement рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рджреЗ рд╕рдХреЗред

Windows.UI.Xaml.DataTemplate рдЕрдирд┐рд╡рд╛рд░реНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдХрд╛рд░рдг рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп XAML рд╕реНрдирд┐рдкреЗрдЯ/рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдРрдк рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЬреАрдпреВрдЖрдИ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ DataTemplate ред

рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рдХреА рдУрд░ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ

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

рд╕рд╛рде рд╣реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ/рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреНрд░реИрдЧ-рдПрдВрдб-рдбреНрд░реЙрдк рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреНрд░реИрдЧ-рдПрдВрдб-рдбреНрд░реЙрдк рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдбреНрд░реЙрдк рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдПрдХ рдИрд╡реЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдЬрдм рдкрдВрдХреНрддрд┐/рдЖрдЗрдЯрдо/рдСрдмреНрдЬреЗрдХреНрдЯ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдЕрдВрджрд░ рдкрдВрдХреНрддрд┐ рдХреЛ рдЧрд┐рд░рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд▓ рдкреГрд╖реНрдарднреВрдорд┐

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ (рд╕реЗрд▓ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ/рдмреНрд░рд╢ рдмрджрд▓рдХрд░) рд╣рд┐рд▓рд╛рдпрд╛ рдЬрд╛рдП (рдЬреИрд╕реЗ рдХрд┐ рдЬрдм рд╣рдорд╛рд░рд╛ рдРрдк рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореВрд▓реНрдпреЛрдВ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдЦрддрд░рдирд╛рдХ рдореВрд▓реНрдпреЛрдВ рдЖрджрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ)ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдПрдХ DataGridCell.Background рд╕рдВрдкрддреНрддрд┐ (рдкреНрд░рдХрд╛рд░ Brush ) рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рд╢рд╛рдпрдж рджреЛрд╖рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб DataGridCell рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреБрди: рдЪрдХреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ DataGridCell.Background рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдХреНрд╖реЛрдВ рдХреЛ рд╣рд┐рд▓рд╛рдирд╛ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред

рдШрдЯрдирд╛ DataGridColumn.DisplayingCell рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ CellBackgroundBrush рд╕рдВрдкрддреНрддрд┐ рдХреЛ DataGridDisplayingCellEventArgs рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдбрдВрдм-рдбрд╛рдЙрди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдбреЗрдЯрд╛ рдХреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ (рд╕реЗрд▓ рдорд╛рди)

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ "рдЧреВрдВрдЧрд╛" рдмрд╣реБрдд рдмреБрд░рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдпрджрд┐ рдбреЗрдЯрд╛-рд░рд┐рдЯреНрд░реАрд╡рд▓ (рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрд▓ рдорд╛рдиреЛрдВ рдХреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐) рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЧреВрдВрдЧрд╛ рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЕрдкрдиреА рд╕рдВрдкрддреНрддрд┐ DataGrid.ItemsSource рдкреНрд▓рд╕ рдбреЗрдЯрд╛-рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ (рд╕рдВрдкрддреНрддрд┐ DataGridBoundColumn.Binding ), рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдЬреИрд╕реЗ System.ComponentModel.INotifyPropertyChanged рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

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

_ "рдмрд╕ рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХрд░рдиреЗ рджреЛред"_
рдХрднреА-рдХрднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЬреИрд╕реЗ рдШрдЯрдХ рдХреЗ рдЕрдВрджрд░ "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ" рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдФрд░ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдРрдкреНрд╕ рдХреЛ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореБрдЭреЗ DataGridBoundColumn.Binding рдФрд░ DataGrid.ItemsSource рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореИрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ DataGrid.ItemsSource рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред @dotMorten рдиреЗ рдПрдХ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП DataGrid.ItemsSource рд╕реЗрдЯ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реВрдЪреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд┐рд▓рд┐рдпрди рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдбреЗрдЯрд╛-рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдирд╛ рдмрдВрдж рдХрд░ рджреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ DataGridBoundColumn.Binding рдФрд░ DataGrid.ItemsSource рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рджреЗрдВред

@anawishnoff рдиреЗ рд▓рд┐рдЦрд╛:

рдкреНрд░рджрд░реНрд╢рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЗрд░рдгрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдЙрди рдореБрдЦреНрдп рд╕реБрдзрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдирдИ рдбреЗрдЯрд╛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХрд╣рд╛рдиреА рдФрд░ рдЖрдзреБрдирд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдЬреИрд╕реЗ рдЖрдЗрдЯрдо рд░рд┐рдкреАрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ рдирдИ рдбреЗрдЯрд╛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХрд╣рд╛рдиреА рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧреА, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕реЗрд▓ рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ DataGridBoundColumn.Binding рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рднреА рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛?

рдпрджрд┐ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд╛рд░реНрдп рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдРрдк рдХреЛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрдк рдореЗрдВ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд▓рдЪреАрд▓рд╛рдкрди рд╣реИ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛-рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЦреЛрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХрд╛ @dotMorten рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕реЗ рд╢рд╛рдВрдд рдХрд░реЗрдВ, рдХреГрдкрдпрд╛ :рдореБрд╕реНрдХреБрд░рд╛рдПрдВ:

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдХреБрдЫ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ?

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

рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдЖрдкрддреНрддрд┐ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдиреЗ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдПрдВрдб-рдпреВрдЬрд╝рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдЕрдВрджрд░/рд╕реАрдзреЗ рд╕реЗрд▓ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ? рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд░ рдЬрдЧрд╣ рдЬрд╣рд╛рдВ рд╣рдо рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЗрдирд▓рд╛рдЗрди/рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдкрд╛рджрди рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ DataGrid.IsReadOnly рдХреЛ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд▓рдХ рдпрд╛ рдкреИрдирд▓ рдореЗрдВ, рдпрд╛ RowDetails ( DataGrid.RowDetailsTemplate ) рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реАрдзреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд╣рд▓реЗ рд╣реА рдЗрдирд▓рд╛рдЗрди/рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рдЪреБрдХрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ wpf рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдкрд╛рд╕ CanUserAddRows рдФрд░ CanUserDeleteRows рд▓реЗрдХрд┐рди рдпреЗ рдЧреБрдг рдЕрдм WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред рдЗрдирд▓рд╛рдЗрди/рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдкрд╛рджрди рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ? рдХрд┐рддрдиреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдкрддреНрддрд┐ рд╣реИ?

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд▓ рдЪрдпрди: рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ SelectionUnit рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк Cell , FullRow , рдпрд╛ CellOrRowHeader ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ FullRow рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрднреА рднреА Cell рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдпрд╣рд╛рдБ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рд┐рдВрдЧрд▓ рд╕реЗрд▓ рд╕рд┐рд▓реЗрдХреНрд╢рди рдореЛрдб рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕реЗрд▓ рдЪрдпрди рдореЛрдб рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдпрд╛ рджреБрд░реНрд▓рдн рдЕрдиреБрд░реЛрдз рд╣реИред

рджреВрд╕рд░реА рдУрд░, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд▓ рдЪрдпрди рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ/рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреВрд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд▓ (рдпрд╛ рдХрдИ рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реЗрд▓) рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИ рдпрд╛ рдирд╣реАрдВред

| рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рд╕рдВрджрд┐рдЧреНрдз рдлреАрдЪрд░ | рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ |
| :--- | :--- |
| DataGrid.IsReadOnly | рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрднреА рднреА IsReadOnly рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ? |
| DataGrid.CanUserAddRows | WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореБрдЭреЗ рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ)ред |
| DataGrid.CanUserDeleteRows | WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореБрдЭреЗ рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ)ред |
| DataGrid.SelectionUnit | WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред |

рд╡рд╛рд╣, рдпрд╣рд╛рдБ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЪрд░реНрдЪрд╛ред тЭдя╕П

рдореИрдВ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдПрдкреАрдЖрдИ рд╕реЗ рднреА рд╕рд╣рдордд рд╣реВрдВред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ WinUI 3.0 рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рднреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рдЕрддреАрдд рдореЗрдВ, рдореЗрд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдиреЗ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддреГрддреАрдп рдкрдХреНрд╖ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛:

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

рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЖрдк рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдмрдирд╛рдирд╛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдерди рд╣реИ рдФрд░ WinUI 3.0 рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИред рдПрд▓рдУрдмреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк рдпреВрдЖрдИ рдврд╛рдВрдЪреЗ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдФрд░ WinUI рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдЗрд╕ рдирд┐рд╡реЗрд╢ рдХреЛ рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!

@thomasclaudiushuber

рдПрд▓рдУрдмреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк рдпреВрдЖрдИ рдврд╛рдВрдЪреЗ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдФрд░ WinUI рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдЗрд╕ рдирд┐рд╡реЗрд╢ рдХреЛ рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!

рдорд╛рдирд╛! рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рджрд░реНрд╢рдиред рдХреБрдЫ рддреГрддреАрдп рдкрдХреНрд╖ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреНрд░реА рд╡реНрдпреВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

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

рдЙрдкрд░реЛрдХреНрдд рдЬрдЯрд┐рд▓рддрд╛/рджреЗрд░реА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ: HierarchicalDataGrid рдирд╛рдордХ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ DataGrid рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ/рд▓рдкреЗрдЯрддрд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ HierarchicalDataGrid рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ DataGrid рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ HierarchicalDataGrid рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ Control рдФрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░ рд╣реИ DataGrid рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ HierarchicalDataGrid рдкрд░рдд рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рдПрдЧреА рдЬреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЧреИрд░-рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд DataGrid рдЙрджрд╛рд╣рд░рдг рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреА рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░рдореБрдЦ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЙрджреНрдзрд╛рд░ рд╣реЛрдЧрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╢реНрд░реЗрдгреАрдмрджреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдлрдВрд╕рд╛ _without_ рд╣реИ DataGrid , рдмрдирд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ DataGrid рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрдЯрд╛рдЗрдо рдХреЙрд▓рдо рдХреА рддрд░рд╣ред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред DataGridDateTimeColumn рдФрд░ DataGridTimeSpanColumn рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред

@рдкрд┐рдиреЙрдХреНрд╕

рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ

@thomasclaudiushuber

рдХреЙрд▓рдо рд╣реЗрдбрд░ рдореЗрдВ рдлрд┐рд▓реНрдЯрд░; рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдкреВрд░реНрдг рдлрд╝рд┐рд▓реНрдЯрд░ рдкрдВрдХреНрддрд┐;

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

рд▓реЗрдХрд┐рди рдЧреИрд░-рдкрд╛рда рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд╛рда рдХреЗ рдорд┐рд▓рд╛рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдорддрд▓рдм рдХреЙрд▓рдо DataGridTextColumn , рдЬреИрд╕реЗ DataGridTemplateColumn рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛? рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рд╣рд▓ рдХрд░реЗрдВ рдЬреЛ DataGridColumn (рдФрд░ рдЙрдкрд╡рд░реНрдЧ) рдХреЛ рдЦреЛрдЬ/рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ/рдорд┐рд▓рд╛рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓ рдорд╛рди рдХреЛ рдХреАрд╡рд░реНрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддрд╛ рд╣реИред

public delegate void DataGridCellValueToKeywordsConverter(object cellValue, ICollection<string> outputKeywords);

public class DataGridColumn
{
    ...
    public DataGridCellValueToKeywordsConverter CellValueToKeywordsConverter { get; set; }

    /// <param name="cellValue">The input/source value of the cell, to be converted to keywords.</param>
    /// <param name="outputKeywords">A collection that the method will add the keywords to.  The method invokes ICollection.Add for each keyword.</param>
    public virtual void ConvertCellValueToKeywords(object cellValue, ICollection<string> outputKeywords)
    {
        // Subclasses can override this method.  The default behavior is to invoke the delegate to do the job.
        DataGridCellValueToKeywordsConverter d = this.CellValueToKeywordsConverter;
        if (!(d is null)) d(cellValue, outputKeywords);
    }
}

рдпрд╣рд╛рдВ ConvertCellValueToKeywords рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

void TestKeywords(DataGridColumn column)
{
    var keywords = new System.Collections.Generic.HashSet<string>();
    foreach (object cellValue in someCellValueList)
    {
        keywords.Clear();
        column.ConvertCellValueToKeywords(cellValue, keywords);
        CheckIfFilterTextMatchesAnyKeyword(keywords);
    }
}

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

рдПрдХреНрд╕реЗрд▓ рд╕реЗ рдЖрд╕рд╛рди рдХреЙрдкреА рдкрд╛рд╕реНрдЯ
рдЕрдм рдПрдХреНрд╕реЗрд▓ рд╕реЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ctrl+v рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдм рдпрд╣ рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рднреА рд╕реЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рд╕реЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред

рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП SelectedItems рдХреЛ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдХрд░, рдПрдХ рдЙрдЪрд┐рдд рдПрдХрд╛рдзрд┐рдХ рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

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

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

рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд▓ рдЪрдпрди рдХрд┐рд╕реА рднреА рд╕реНрдкреНрд░реИрдбрд╢реАрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдирд╣реАрдВ?

рдПрдХ рд╕реНрдкреНрд░реИрдбрд╢реАрдЯ рдореЗрдВ, рдХреЙрд▓рдо рд╣реЗрдбрд░реНрд╕ рдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдЖрд░реЛрд╣реА рдЕрдХреНрд╖рд░реЛрдВ, рдП, рдмреА, рд╕реА, рдбреА, ... рдХреЗ рд╕рд╛рде рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рди рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо DataGridTextColumn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рдХреЙрд▓рдо рдирд╣реАрдВ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╕реНрддрдВрдн рдирд╛рдореЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╛ рддреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдФрд░ рд╕реНрдкреНрд░реИрдбрд╢реАрдЯ рдХреЗ рдмреАрдЪ рдПрдХ рдФрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдФрд░ рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреЗ рдмреАрдЪ рдХреЗрд╡рд▓ рдПрдХ рд╕рддрд╣реА рд╕рдорд╛рдирддрд╛ (рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рджреГрд╢реНрдп рд╕рдорд╛рдирддрд╛) рдореМрдЬреВрдж рд╣реИред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреА рд╕реЗрд▓ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рддрдХрдиреАрдХ рднреА рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред

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

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

@verelpode рдЖрдкрдХрд╛ рдпреЛрдЧрджрд╛рди рдЗрддрдирд╛ рд╡рд┐рд╕реНрддреГрдд рдФрд░

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП DataGrid.ItemsSource рд╕реЗрдЯ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реВрдЪреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд┐рд▓рд┐рдпрди рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдбреЗрдЯрд╛-рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдирд╛ рдмрдВрдж рдХрд░ рджреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрдмрд╛рдЙрдВрдб рдХреЙрд▓рдоред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб.рдЖрдЗрдЯрдореНрд╕рд╕реЛрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рджреЗрдВред

рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдбреЗрдЯрд╛ рд╕реНрдерд┐рддрд┐/рдкрд░рд┐рджреГрд╢реНрдп рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ? рдХреНрдпрд╛ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реАрдзреЗ SQL рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо, рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕, рдпрд╛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

@khoshroomahdi рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░рдХреЗ, рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХреНрд╕реЗрд▓ рд╕реЗрд▓ рдХреЛ рдПрдХ рдЪрд▓ рд░рд╣реЗ рдРрдк рдореЗрдВ

@alexyak , рдХреНрдпрд╛ рдЖрдк рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? SelectedItems рдкреНрд░реЙрдкрд░реНрдЯреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рднреА рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪрдпрди рдореЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдПрдХрд╛рдзрд┐рдХ рдЪрдпрди рдореЛрдб рдирд╣реАрдВ)ред рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рднреАрддрд░ рдЪрдпрди рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

@anawishnoff рд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓ред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХреНрд╕реЗрд▓ рд╕реЗрд▓ рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд░рдирд┐рдВрдЧ рдРрдк рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЧреИрд░-рдбреЗрдЯрд╛-рдмрд╛рдЙрдВрдб рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреИрд╕реЗ WinForms DataGridView рдирд┐рдпрдВрддреНрд░рдг, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛, рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: https://docs.microsoft.com/en-us/dotnet/api/systemред windows.forms.datagridview.virtualmode

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП DataGrid.ItemsSource рд╕реЗрдЯ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реВрдЪреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд┐рд▓рд┐рдпрди рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдбреЗрдЯрд╛-рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдирд╛ рдмрдВрдж рдХрд░ рджреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдбрдмрд╛рдЙрдВрдб рдХреЙрд▓рдоред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб.рдЖрдЗрдЯрдореНрд╕рд╕реЛрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рджреЗрдВред

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

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

@alexyak SelectedItems рдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдмрд╛рдЗрдВрдбреЗрдмрд▓ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдкреНрд░реЙрдкрд░реНрдЯреА рдмрдирд╛рдиреЗ рдХреЗ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рд░рд╛рдЬреНрдп рдХреЛ рднреА рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдЕрдм рддрдХ рдореЗрд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рджреГрд╢реНрдп рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдврд╛рдВрдЪрд╛-рд╡реНрдпрд╛рдкреА рдореБрджреНрджрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА WinUI/UWP рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ рдЪрд░реНрдЪрд╛

@anawishnoff рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдкрдХрд╛ рдпреЛрдЧрджрд╛рди рдЗрддрдирд╛ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рд╣реИ, рдЙрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдореЗрд░реЗ рдпреЛрдЧрджрд╛рди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ :)

рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдбреЗрдЯрд╛ рд╕реНрдерд┐рддрд┐/рдкрд░рд┐рджреГрд╢реНрдп рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ? рдХреНрдпрд╛ рдЖрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реАрдзреЗ SQL рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо, рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕, рдпрд╛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИред рдпрд╣ рд╕реНрдорд╛рд░реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдРрдкреНрд╕ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдРрдкреНрд╕ рдореЗрдВ рдХрд╛рдлреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда" рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдгрд╛рд▓реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реЛрддреА рд╣реИ - рдХреЛрдИ рднреА "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда" рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдРрдкреНрд╕ рдХрднреА рднреА рджреЛ рд╕реМ рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рдРрдкреНрд╕ рдПрдХ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ @dotMorten рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЬреВрддреЗ рдХрд╛ рдЖрдХрд╛рд░ рд╕рднреА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЗрд╕ рд╕реНрддрд░ рддрдХ рдХрдо рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

  1. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдмрд╛рд╣реНрдп рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдореЗрдВ рдореМрдЬреВрдж рдорд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд (рдпрд╛ рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧ) рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  2. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдРрдк рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдХреЗ рд▓рд┐рдП рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  3. рдРрдк рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдХреЗ рдорд╛рди рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ async SQL рдХреНрд╡реЗрд░реА, рдпрд╛ рдПрдХ async C# рдХрд╛рд░реНрдп, рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рд┐рд╕реНрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЗрд╕ рдЪрд░рдг рдХреЛ рдПрд╕рд┐рдВрдХреНрд╕ рд╣реЛрдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
  4. рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдХреЗ рд▓рд┐рдП рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдпрд╣ рдорд╛рди рджреЗрддрд╛ рд╣реИред
  5. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЪрд░рдг 1 рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред

@RBid рдиреЗ рд▓рд┐рдЦрд╛:

рдЧреИрд░-рдбреЗрдЯрд╛-рдмрд╛рдзреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ WinForms DataGridView рдирд┐рдпрдВрддреНрд░рдг, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛, рдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд┐рдпрд╛:

рд╣рд╛рдБ рд╣рд╛рдБ рд╣рд╛рдБ! рдореИрдВрдиреЗ рдХрднреА рднреА WinForms DataGridView рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╕рд┐рд░ рдкрд░ рдирд╛рдЦреВрди рдорд╛рд░рд╛ рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реЗрдмрдкреГрд╖реНрда рдХрд╣рддрд╛ рд╣реИ:
_ "рд╡рд░реНрдЪреБрдЕрд▓ рдореЛрдб рдбреЗрдЯрд╛ рдХреЗ рдмрд╣реБрдд рдмрдбрд╝реЗ рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред"_

рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ WinForms DataGridViewCellValueEventArgs рдореЗрдВ рдпреЗ рдЧреБрдг рд╣реИрдВ:

public int RowIndex { get; }      // DataGrid sets RowIndex.
public int ColumnIndex { get; }   // DataGrid sets ColumnIndex.
public object Value { get; set; } // The app sets Value.

рдпрд╣ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЖрдзреБрдирд┐рдХ C# async рдФрд░ await рдХреАрд╡рд░реНрдб, рдпрд╛ UWP рд╕рдордХрдХреНрд╖ ( IAsyncOperation<TResult> ), рдпрд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рджреЗрд░реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмреАрдЪ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдФрд░ рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдбрд┐рд▓реАрд╡рд░ рдХрд░рдирд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ async рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд░реЗрдВ:

  1. рдИрд╡реЗрдВрдЯ рдХреЛ CellValueNeeded рд░рдЦреЗрдВред
  2. рд╕рдВрдкрддреНрддрд┐ рдирд┐рдХрд╛рд▓реЗрдВ DataGridViewCellValueEventArgs.Value ред
  3. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо SupplyCellValue рд╣реИ рдЬрд┐рд╕реЗ рдРрдк рддреБрд░рдВрдд/рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд╕рдВрдкрддреНрддрд┐ DataGridViewCellValueEventArgs.Value рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрдЬрд╛рдп рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред

SupplyCellValue рд╡рд┐рдзрд┐ рдХреЛ рдЗрд╕ рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

class DataGrid
{
    public void SupplyCellValue(int rowIndex, int columnIndex, object value);
    // Alternatively:
    public void SupplyCellValue(int rowIndex, DataGridColumn column, object value);
}

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ:

  1. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдмрд╛рд╣реНрдп рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдореЗрдВ рдореМрдЬреВрдж рдорд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд (рдпрд╛ рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧ) рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  2. рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗрд▓рд╡реИрд▓реНрдпреВ рдиреЗрдбреЗрдб рдИрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ DataGridViewCellValueEventArgs.RowIndex рд╕реЗ 9001 рдФрд░ DataGridViewCellValueEventArgs.ColumnIndex рд╕реЗ 5 рддрдХ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
  3. рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ (рдРрдк) рдПрдХ рдПрд╕рд┐рдВрдХреНрд╕ рдХрд╛рд░реНрдп рдЪрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрдВрдХреНрддрд┐ 9001 рдХреЗ рдХреЙрд▓рдо 5 рдХреЗ рд▓рд┐рдП рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
  4. рдЬрдм async рдХрд╛рд░реНрдп рдЪрд▓рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрдм рдРрдк рдиреЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдРрдк DataGrid.SupplyCellValue рд╡рд┐рдзрд┐ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдбрдВрдм-рдбрд╛рдЙрди рддрдХрдиреАрдХ DataGridBoundColumn.Binding рдФрд░ DataGrid.ItemsSource рдХреА рд╕реНрдорд╛рд░реНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрдХрдиреАрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд▓рдЪреАрд▓реА рд╣реИред

@alexyak , рдХреНрдпрд╛ рдЖрдк рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? SelectedItems рдкреНрд░реЙрдкрд░реНрдЯреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рднреА рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪрдпрди рдореЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдПрдХрд╛рдзрд┐рдХ рдЪрдпрди рдореЛрдб рдирд╣реАрдВ)ред рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рднреАрддрд░ рдЪрдпрди рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд╣рдореЗрдВ рдХрдИ рдЪрдпрдиреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпреВрдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рджреЛ-рддрд░рдлрд╝рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

@verelpode , рд╣рдордиреЗ рдкреБрд░рд╛рдиреЗ Win32 ComCtl32 рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рднреА WinForms DataGridView рдореЙрдбрд▓ рдХрд╛ рдореЙрдбрд▓ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рд╕реВрдЪреА-рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдг рдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЛрдб рдореЗрдВ LVN_GETDISPINFO рд╕рдВрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рджреЗрдЦреЗрдВ https://docs.microsoft.com/en-us/windows/win32/controls/list-view-controls-overview #рд╣реИрдВрдбрд▓рд┐рдВрдЧ-рд╡рд░реНрдЪреБрдЕрд▓-рд▓рд┐рд╕реНрдЯ-рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓-рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди-рдХреЛрдб рдФрд░ https://docs.microsoft.com/en-us/windows/win32/controls/lvn-getdispinfo)ред 90 рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рд╛рдорд╛рдиред

рд╡реИрд╕реЗ рднреА, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкрд╣рд▓реВ рдХреЛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ 'рдЖрд╕реНрдердЧрд┐рдд рдШрдЯрдирд╛рдУрдВ' рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИред
WinUI рдирд┐рдпрдВрддреНрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рдмрд╛рд░ рд╕реНрдердЧрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

runtimeclass RefreshRequestedEventArgs
{
    Windows.Foundation.Deferral GetDeferral();
}

runtimeclass TeachingTipClosingEventArgs
{
    TeachingTipCloseReason Reason{ get; };
    Boolean Cancel;
    Windows.Foundation.Deferral GetDeferral();
}

рдпрд╣ рд╡рд╣ рдкреИрдЯрд░реНрди рд╣реИ рдЬрд┐рд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ CellValueNeeded рдИрд╡реЗрдВрдЯ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдпрд╣ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдмрддрд╛рддрд╛ рд╣реИред рджреЗрдЦреЗрдВ https://docs.microsoft.com/en-us/uwp/api/windows.foundation.deferralред

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЬрдм рддрдХ Deferral рд░реАрд╕рд╛рдЗрдХреНрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЕрдиреНрдпрдерд╛ GetDeferral() рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рддрдм рднреА рдпрд╣ рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИред SupplyCellValue рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЧреВ рдкрдВрдХреНрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ Deferral рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдиреЗ, рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рдирд┐рдкрдЯрд╛рдиреЗ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдХреЛ SupplyCellValue рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред

  1. GetDeferral()
  2. deferral.рдкреВрд░реНрдг
  3. deferral.рдирд┐рдкрдЯрд╛рди
  4. рдЙрдкрд░реЛрдХреНрдд рдЪрд░рдгреЛрдВ рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рджреЛрд╣рд░рд╛рдПрдВред

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

@dotMorten рдиреЗ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, CellValueNeeded рдЕрдХреЗрд▓реЗ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдПрдХ рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗрд▓ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЙрдкрд░реЛрдХреНрдд рдореЙрдбреНрдпреВрд▓/рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрдк рдХреЛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдРрдк рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдХрд┐рд╕реА рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдореЙрдбреНрдпреВрд▓/рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЖрдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рдбреЗрдЯрд╛-рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛрдб рдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдирдП рд╡рд░реНрдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╡рд╣ рд╡рд░реНрдЧ рдЬреЛ DataGridBoundColumn.Binding рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

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

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

рд╡рд┐рдВрдбреЛрдЬ рдХрдореНрдпреБрдирд┐рдЯреА рдЯреВрд▓рдХрд┐рдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдлреАрдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдг рд╣реИ (рдпрджреНрдпрдкрд┐ рдПрдХ рдЧрдВрднреАрд░ рдкреНрд░рджрд░реНрд╢рди рдмрдЧ рдХреЗ рд╕рд╛рде рд▓реЗрдХрд┐рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде), рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдирдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдПрдХ рдлреАрдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ - рдЙрд╕реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрдИ рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдг рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдкреЗрдЬрд┐рдВрдЧ рдЬреАрдпреВрдЖрдИ рдмрдирд╛рдо рджрд╕ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпрд╛рдВ, @robloo рдиреЗ рд▓рд┐рдЦрд╛:

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ 2 рдпрд╛ 3 рдХреЙрд▓рдо рджрд┐рдирд╛рдВрдХ рдХреЙрд▓рдо рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рджреВрд╕рд░реА рддрд┐рдерд┐ рдХреЙрд▓рдо рдореЗрдВ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рдХреА (рдпрд╛ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА) рддрд┐рдерд┐ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рджрд┐рдирд╛рдВрдХ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реЙрд░реНрдЯ-рджрд┐рд╢рд╛ рдХреЛ рдЕрд╡рд░реЛрд╣реА рд╕реЗ рдЖрд░реЛрд╣реА рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдкреЗрдЬрд┐рдВрдЧ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрджрд┐ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдПрдХ рдкреГрд╖реНрда рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЫреЛрдЯреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдПрдХрд╛рдзрд┐рдХ рдкреГрд╖реНрда рдореМрдЬреВрдж рд╣реИрдВ рддреЛ рдпрд╣ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ (рдпрд╛ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА) рддрд╛рд░реАрдЦ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЬреАрдпреВрдЖрдИ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдореЗрдВ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ (рдпрд╛ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА) рддрд┐рдерд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреЗрдЬрд┐рдВрдЧ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ (рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ) рдХрд░рддрд╛ рд╣реИ рдмреЗрдХрд╛рд░ред

рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдХрд┐рд╕ рдкреГрд╖реНрда рдкрд░ рдЖрддреА рд╣реИрдВред рдЬрд╡рд╛рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдЖрдо рддреМрд░ рдкрд░, рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдмрд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреГрд╖реНрдареЛрдВ / рдкрдВрдХреНрддрд┐рдпреЛрдВ рдПрдХ SQL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ SELECT рдХреНрд╡реЗрд░реА рдЬреЛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ORDER BY ред (рдореЗрд░рд╛ рдорддрд▓рдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╣реАрдВ рд╣реИред)

рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо SQL ORDER BY ( ASC рдпрд╛ DESC рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╕реЙрд░реНрдЯ-рджрд┐рд╢рд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рд╛рдБ рдкреГрд╖реНрда рдирд╣реАрдВ рд╣реИрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ORDER BY рдХрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдХреЙрд▓рдо рдФрд░ рдПрдХ рд╣реА рд╕реЙрд░реНрдЯ-рджрд┐рд╢рд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рдЕрдХреНрд╕рд░ рдЕрдВрддрд┐рдо-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрдВ рд╣реЗрдбрд░ред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднрд┐рдиреНрди рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ SQL рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред SQL ORDER BY ... ASC/DESC рдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдЕрдВрддрд┐рдо-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд░рдо рдХреЗ рд╕рдорд╛рди рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╣реИ : рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдРрдк (рдпрд╛ "рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдореЙрдбреНрдпреВрд▓") рдХреЛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдРрдк (рдпрд╛ "рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдореЙрдбреНрдпреВрд▓") рдХреЗ рд▓рд┐рдП рдПрд╕рдХреНрдпреВрдПрд▓ ORDER BY ... ASC/DESC рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ рдЬрдм рднреА рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдЗрддреНрдпрд╛рджрд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╕реЙрд░реНрдЯ-рдСрд░реНрдбрд░ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдИрд╡реЗрдВрдЯ DataGrid.Sorting рдХреЛ рдИрд╡реЗрдВрдЯ args рдореЗрдВ рдПрдХ рд╕реЗрдЯрдЯреЗрдмрд▓ рдкреНрд░реЙрдкрд░реНрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдРрдкреНрд╕ (рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░) рдХреЛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдФрд░ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдИрд╡реЗрдВрдЯ args рдпрд╣ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдо рдХреЙрд▓рдо рд╣реЗрдбрд░ рдЖрджрд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдВрдб-рдпреВрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдИрд╡реЗрдВрдЯ DataGrid.Sorting рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рдХреБрдЫ рдХрдо рдЕрд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ Sorting рдШрдЯрдирд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдЕрдиреНрдп рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд

Windows рд╕рдореБрджрд╛рдп рдЯреВрд▓рдХрд┐рдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕рдореЗрдВ Row . рд╣реИ
рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╡рд░рдг (рдпрджреНрдпрдкрд┐ рдПрдХ рдЧрдВрднреАрд░ рдкреНрд░рджрд░реНрд╢рди рдмрдЧ рдХреЗ рд╕рд╛рде рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде), рд╣рдо рдХрд░реЗрдВрдЧреЗ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдирдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкрд╕рдВрдж рд╣реИ - рдПрдХ рд╣реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде
рдПрдХ рд╕рд╛рде рдХрдИ рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдгред рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдкрдВрдХреНрддрд┐ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд▓рд┐рдВрдХ: https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/2842
рд░реЗрдкреНрд░реЛ: https://github.com/observito/DataGridRowDetailsPerfTest

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

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдирдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЯреЗрд▓реАрд░рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рд╣реЛрдЧрд╛ред

рд╕рд┐рдВрдХрдлрд╝реНрдпреВрдЬрд╝рди рдЧреНрд░рд┐рдб рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ mvvm рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИрдВред рддреЛ рдЖрдк рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддреЗ рдереЗред

рдЕрд░реЗ рдлрд┐рд░ рд╕рдм! рдЖрдЗрдП рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореМрдЬреВрдж рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдЖрдкрдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ?

рдпрд╣рд╛рдБ рдПрдХ рд╣реИ рд▓рд┐рдВрдХ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХред

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

_рдРрд╕реЗ рдХреБрдЫ рд╡рд┐рд╖рдп рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛрддреЗ? рдРрд╕реЗ рдХреМрди рд╕реЗ рд╡рд┐рд╖рдп рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?_

рдЕрд░реЗ рдлрд┐рд░ рд╕рдм! рдЖрдЗрдП рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореМрдЬреВрдж рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдЖрдкрдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ?

рдпрд╣рд╛рдБ рдПрдХ рд╣реИ рд▓рд┐рдВрдХ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХред

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

_рдРрд╕реЗ рдХреБрдЫ рд╡рд┐рд╖рдп рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛрддреЗ? рдРрд╕реЗ рдХреМрди рд╕реЗ рд╡рд┐рд╖рдп рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?_

xaml рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗрдЯрдЕрдк рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпрд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреАред

xaml рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗрдЯрдЕрдк рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпрд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреАред

@mdtauk рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдкрд╛рддреЗ рд╣реИрдВ?

xaml рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗрдЯрдЕрдк рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпрд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреАред

@mdtauk рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдкрд╛рддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ WinUI 3.0 рдЯрд╛рдЗрдордлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп wpf, Win32 рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб/рдЖрдЗрдХрди рджреГрд╢реНрдп рдкрд░рд┐рджреГрд╢реНрдп рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред рд╕рд╛рде рд╣реА рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдлреНрд▓реБрдПрдВрдЯ/рдореЙрдбрд░реНрди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдпреВрдЖрдИ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдХреНрдпрд╛ рдорд╛рдирддрд╛ рд╣реИред

рдпрд╛рдиреА рдЕрдЧрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдкреАрдЫреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреБрд░рд╛рдиреЗ UI рд╕реЗ WinUI 3 рдореЗрдВ рдЬрд╛рдиреЗ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рд╣реИ

@anawishnoff рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреВрд▓рдХрд┐рдЯ рд╕реЗ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдкреНрд░рд╢реНрди рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдереЗ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдереЗ рдЬрд╣рд╛рдВ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рднреА рдереЗ:

  • рдереАрдорд┐рдВрдЧ/рд░реА-рдЯреЗрдореНрдкрд▓реЗрдЯрд┐рдВрдЧ/рд╕рдВрд░реЗрдЦрдг
  • рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдФрд░ XAML рдореЗрдВ)
  • рдШрдЯрдирд╛/рдЪрдпрди рд╣реИрдВрдбрд▓рд┐рдВрдЧ/рдЖрд╡рд░рдг
  • рд╕рдВрдкрд╛рджрди рд╡реНрдпрд╡рд╣рд╛рд░ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдХреНрд▓рд┐рдХ рдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ)
  • рдорд▓реНрдЯреА-рдкреЗрдЬрд┐рдВрдЧ (рдЬрд┐рд╕реЗ #60 рдФрд░ #268 рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)

    • рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдПрдирд┐рдореЗрд╢рди рд╕рдордиреНрд╡рдп рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ

  • рдХреЙрдкреА/рдкреЗрд╕реНрдЯ/рд╕реНрд╡рд░реВрдкрдг
  • рд╡рд┐рднрд┐рдиреНрди рдХреЙрд▓рдо рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ (рдФрд░ рдХрд╕реНрдЯрдо рд╡рд╛рд▓реЗ) (рдЬреИрд╕реЗ рдПрдирдо)
  • рдкреНрд░рд╕рдВрдЧ рдореЗрдиреВ
  • рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдЯреВрд▓рдХрд┐рдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЕрдкрдиреА рдЖрдЗрдЯрдореНрд╕рд╕реЛрд░реНрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдиреЗрдорд░реЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░реНрдгрдп рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ Windows.Storage.BulkAccess.FileInformationFactory.GetVirtualizedItemsVector() рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЗрд╕ рдЧреБрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред (рдЬрдм рддрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ListView рдФрд░ GridView рдЬреИрд╕реЗ рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рдЙрдирдХреА ItemsSource рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рдЬрд╛рдПрдЧреАред

@mdtauk рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдкрд╛рддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ WinUI 3.0 рдЯрд╛рдЗрдордлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп wpf, Win32 рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб/рдЖрдЗрдХрди рджреГрд╢реНрдп рдкрд░рд┐рджреГрд╢реНрдп рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред рд╕рд╛рде рд╣реА рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдлреНрд▓реБрдПрдВрдЯ/рдореЙрдбрд░реНрди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдпреВрдЖрдИ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдХреНрдпрд╛ рдорд╛рдирддрд╛ рд╣реИред

рдпрд╛рдиреА рдЕрдЧрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдкреАрдЫреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреБрд░рд╛рдиреЗ UI рд╕реЗ WinUI 3 рдореЗрдВ рдЬрд╛рдиреЗ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рд╣реИ

Win32 рдЙрджрд╛рд╣рд░рдг (рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░)
image

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдЙрджрд╛рд╣рд░рдг
image

рдлреИрдмреНрд░рд┐рдХ рд╡реЗрдм рдЙрджрд╛рд╣рд░рдг
image

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЙрджрд╛рд╣рд░рдг
image

@mdtauk рдЙрди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдореБрдЦ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдирдП рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@ рдорд╛рдЗрдХрд▓-рд╣реЙрдХрд░ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдореИрдВ рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХрдИ рдмрд╛рд░ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИрдВред

@ duke7553 рдореИрдВ рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдпрд╛ рдпрджрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмреБрджреНрдзрд┐рдорд╛рди рд╣реЛрдЧрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ @RBrid рдЭрдВрдХрд╛рд░ рдХрд░

@anawishnoff рдФрд░ @ duke7553 , рдореИрдВ рдирдП WinUI ItemsRepeater рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдпрдВрддреНрд░рдг рддреИрдпрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рдФрд░ рд╡рд╣ рдирд┐рдпрдВрддреНрд░рдг рдЕрдкрдиреЗ рдЖрдЗрдЯрдореНрд╕рд╕реЛрд░реНрд╕ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ:
Object ItemsSource { get; set; };

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ Telerik рдХреА рддрд░рд╣ CellDecorationStyleSelector рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред

@anawishnoff

рд╣рдо рдЗрд╕реЗ рдореВрд▓ WinUI рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ

рд╣рдореНрдордореНрдо рдЬрдм рдЖрдк "рд╕реНрдирд╛рддрдХ" рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдЗрд╕реЗ рд╕реА ++ рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛? рд╡рд░реНрддрдорд╛рди рдореЗрдВ WinUI рдХрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб C# рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ "рд╕реНрдирд╛рддрдХ" рдХрд╛ рдЕрд░реНрде "рдбрд╛рдЙрдирдЧреНрд░реЗрдб" рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдирдпреВрдЖрдИ рдХреЛ рдЙрд╕ рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд╣рд╛рдВ рд╡рд┐рдирдпреВрдЖрдИ рдЯреАрдо рдХрд╣ рд╕рдХреЗ рдХрд┐ рд╡рд┐рдирдпреВрдЖрдИ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рд╕реЗ рд╣рд░ рддрд░рд╣ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдХреНрд╖реНрдп рдмрд╣реБрдд рд╣реА рдЕрддрд┐рджреЗрдп рд╣реИред рдпрд╣ рд▓рдХреНрд╖реНрдп рдФрд░ рднреА рдЕрддрд┐рджреЗрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдЬреИрд╕реЗ рдХреЛрдб рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдореЗрдВ рд╕рдордп/рд╕рдВрд╕рд╛рдзрди рдмрд░реНрдмрд╛рдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рд╕реА # рд╕реЗ рд╕реА ++ рддрдХред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ C++ рдореЗрдВ WinRT/UWP/WinUI рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рдореМрдЬреВрдж рдерд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡рд╣ рдХрд╛рд░рдг рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ Google/Android рдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдорд╛рд░реНрдХреЗрдЯрд╢реЗрдпрд░ рд▓реЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдЕрдм рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ (рдЖрд╕рд╛рдиреА рд╕реЗ) рдкреАрдЫреЗ рд╕реЗ рдХрд╣рд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдХрд╣рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ)ред рдпрджрд┐ WinUI рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА C# рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛, рддреЛ рдмреЗрд╣рддрд░-рд╕реЗ-WPF рд▓рдХреНрд╖реНрдп 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛, рд▓реЗрдХрд┐рди рдЕрдм 8 рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рдХреЛрдИ рднреА рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рд▓рдХреНрд╖реНрдп рдХрдм рдкреВрд░рд╛ рд╣реЛрдЧрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░-рд╕реЗ-WPF рд▓рдХреНрд╖реНрдп рдФрд░ WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб "рд╕реНрдирд╛рддрдХ" рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдПрдХ рдкреБрд░рд╛рдиреА рдФрд░ рдХрдо рдЙрддреНрдкрд╛рджрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдкрд╛рдВрддрд░рдг рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд▓рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рд╕реА ++ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдкрдХреНрд╖рдкрд╛рддреА рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╕реА ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреА рдереА, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╕реА # рднреА рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдерд╛, рдФрд░ рд▓реЛрдЧ рдореВрд▓ рд░реВрдк рд╕реЗ рдЬреЛ рдХреБрдЫ рд╕реАрдЦрддреЗ рдереЗ, рдЙрд╕рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ _ "рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рджрд┐рди"_ред рд╕реА ++ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдореЗрд░реЗ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВрдиреЗ рд╕реА ++ рд▓рд┐рдЦрдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реА ++ рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕реЗ C# рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рд╕реБрдзрд╛рд░ рдХрд░рдирд╛, рдФрд░ 1 рджрд╢рдХ рд╕реЗ рдкрд╣рд▓реЗ рдмреЗрд╣рддрд░-WPF рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред

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

Microsoft рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, WinRT/UWP рд░рд┐рд▓реАрдЬрд╝-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реИ, рдЬреЛ рд╡рд░реНрд╖ 2012 рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, UWP рдЕрднреА рднреА рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпреВрдбрдмреНрд▓реНрдпреВрдкреА (рд╡рд┐рдирдпреВрдЖрдИ рд╕рдореЗрдд) рдПрдХ рдмрдбрд╝рд╛ рдмреАрдЯрд╛-рдЯреЗрд╕реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВред

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

WinUI рдЕрдзрд┐рдХ рд╡рд┐рд▓рдВрдм рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред WinUI рдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ C# рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВред рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП C# рдореЗрдВ рдЕрдзрд┐рдХ WinUI рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдЕрдм 8 рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓реА рд╣реИред рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рд╕реНрдерд┐рддрд┐ рд╣реИред

рд╡реИрд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛/рдЙрджрд╛рд░ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рднреА рдПрдХ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдмреАрдЯрд╛ рдирд╣реАрдВред рдПрдХ рд╕рдЪреНрдЪрд╛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдлреАрдЪрд░-рдкреВрд░реНрдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рддрдХ рдлреАрдЪрд░-рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рднреА рдЕрд▓реНрдлрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╛ "рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд░рд┐рд▓реАрдЬрд╝ рдЬреАрд╡рди рдЪрдХреНрд░" рд▓реЗрдЦ рдХрд╣рддрд╛ рд╣реИ:

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

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ "рд╕реБрд╡рд┐рдзрд╛ рдкреВрд░реНрдг" рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░

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

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЛ рдлреАрдЪрд░-рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рдирд╛ рдЕрдиреБрдЪрд┐рдд рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреАрдЪрд░-рдкреВрд░реНрдг рд╣реИ, рддреЛ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ '95 рдХреА рд╕рднреА рдХреНрд╖рдорддрд╛рдПрдВ рдФрд░ рдЕрдзрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ - рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рддрдХ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ 95 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ . рд╡рд┐рдВрдбреЛрдЬ 95 25 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрдм 7-8 рд╕рд╛рд▓ рдкрд╣рд▓реЗ UWP/WinRT рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ Microsoft рдХреЛ $900 рдорд┐рд▓рд┐рдпрди рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реБрдЖ рдерд╛ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдореЗрдВ рдРрдкреНрд╕ рдХреА рдХрдореА рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ред рдпрд╣ рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдерд╛ рдЬрд┐рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдРрдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ред рдЖрдЬ, рд▓рдЧрднрдЧ 8 рд╕рд╛рд▓ рдмрд╛рдж, рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдФрд░ рдмрд╣реБрдд рдЕрддрд┐рджреЗрдп рд╣реИ, рдФрд░ рдореИрдВ рдЕрднреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

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

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рднреА рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрд▓реНрдлрд╛/рдЕрдкреВрд░реНрдг рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: 25 рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ 95 рдореЗрдВ "рдореВрд╡рдлрд╛рдЗрд▓" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ "рдореВрд╡рдлрд╛рдЗрд▓" рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рдерд╛ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реНрд╕)ред рдХреНрдпрд╛ UWP рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдирд╣реАрдВ рдЕрднреА рддрдХ рдирд╣реАрдВред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореВрд▓рднреВрдд рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдореЗрдВ рдЕрднреА рднреА рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЕрдиреНрдп рдЧрд╛рдпрдм рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЛ рдлреАрдЪрд░-рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рдирд╛ рдЕрдиреБрдЪрд┐рдд рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрднреА рддрдХ рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж 7-8 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд░рд┐рд▓реАрдЬ рд╣реЛ рд░рд╣реА рд╣реИред Microsoft рдХреЛ UWP рдХреЗ рдПрдХ рд╕рдЪреНрдЪреЗ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдореБрджреНрджреЛрдВ (рдпреВрдЖрдИ рдореБрджреНрджреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧрд┐рдЯрд╣рдм рд░реЗрдкреЛ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рд░реЗрдкреЛ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛)ред рдлрд┐рд░ рд╕реЗ рдпрд╣ рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдореБрджреНрджрд╛-рдЯреНрд░реИрдХрд┐рдВрдЧ рд░реЗрдкреЛ рдЕрдХреНрд╕рд░ рдЕрд▓реНрдлрд╛ рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдЕрд╡рд╛рдВрдЫрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рдЪреНрдЪрд╛ рдмреАрдЯрд╛ рдпрд╛ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛, рддреЛ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрд╢реНрдпреВ-рдЯреНрд░реИрдХрд┐рдВрдЧ рд░реЗрдкреЛ рдкрд╣рд▓реЗ рд╣реА рдЦреЛрд▓рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реЛрддрд╛, рдФрд░ UWP рдореЗрдВ Windows 95, рдФрд░ Windows 7, рдФрд░ рдЕрдзрд┐рдХ рдХреА рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреАрдВред

рдпрд╣ рд╕реНрдерд┐рддрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ? рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХрд╛ рдПрдХ рдлреАрдЪрд░-рдкреВрд░реНрдг рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрд╣реБрдд рдЕрддрд┐рджреЗрдп рд╣реИ, рдФрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдВрднреАрд░рддрд╛ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБ-рдЕрд░рдм рдбреЙрд▓рд░ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдФрд░ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдФрд░ рдПрдХ рдкреБрд░рд╛рдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗред рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдмрд╛рд░-рдмрд╛рд░ рдХрд╣рд╛ рдХрд┐ рд╕реА # рдФрд░ "рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб" рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдлрд╛рдпрджрд╛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реИ, рдФрд░ рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ "рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рджрд╛рд╡реЗ рд╕реА ++ рдФрд░ рд╕реА # рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЕрдиреБрднрд╡реЛрдВ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдЪ рдереЗред рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реЛрддрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 1.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╕реЗ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдЗрди рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбрд╛рдЙрдирдЧреНрд░реЗрдбреЛрдВ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдФрд░ рднреА рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реЛрдЧреАред

рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл 2006 рд╕реЗ 2010 рддрдХ 4 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╣реИред UWP рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╣реИ рдФрд░ 8 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, Windows 95 рдЕрднреА рднреА рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ UWP рдХреЛ рдорд╛рдд рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Microsoft рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рдерд╛ рдЬрдм Microsoft рдиреЗ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред WinUI рдХреЛ wpf рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди/рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдХ рд╣реА рдорд╛рд▓рд┐рдХ (Microsoft) рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ WinUI рдХреЛ wpf рд╕реЗ рдХреЛрдб рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдиреБрдорддрд┐ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡рд┐рдирдпреВрдЖрдИ рдХреЛ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ рд▓рдЧрднрдЧ рдЖрдзреЗ рд╡рд┐рдХрд╛рд╕ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдирдпреВрдЖрдИ рдХреЛ рдХрднреА рднреА рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдмрд▓реНрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рдирдпреВрдЖрдИ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ - рд╡рд┐рдирдпреВрдЖрдИ рдХреЛ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл 5.0 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдПрдХ рдмрдбрд╝реА рдЧрдбрд╝рдмрдбрд╝реА рдереА рдФрд░ Microsoft рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЧрдВрджрдЧреА рдХреА рд╢реЗрд╖ рд╕рдлрд╛рдИ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рдмрд╣реБрдд рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдЧрд╛, рдФрд░ рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВ рдЬреЛ рдмрд╣реБ-рдЕрд░рдм рдбреЙрд▓рд░ рдХреА рдЧрд▓рддреА рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рднреА рдмрджрддрд░ рдмрдирд╛ рджреЗрддреА рд╣реИрдВ (рдФрд░ рддрдм рднреА рдЬрдм рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдЖрдЬ рдХреА рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдорд╛рд░реНрдХреЗрдЯрд╢реЗрдпрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ)ред

рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, Microsoft рдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рд╕реЗ рд▓рд╛рдн рд╣реЛрдЧрд╛ рдХрд┐ Microsoft рдиреЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдХрд╣рд╛/рдЬрд╛рдирддрд╛ рдерд╛:

  • Microsoft рдХреЗ рдЕрдкрдиреЗ рджрд╛рд╡реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ 4 рд╡рд░реНрд╖реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЗ 8 рд╡рд░реНрд╖реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдерд╛ред
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкрд╛рд╡рд░рд╢реЗрд▓ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдпреЛрдВ (рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ) рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдРрдкреНрд╕ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
  • рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдлрд╛ рд╕реЗ рдмреАрдЯрд╛ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рди рдХрд┐ "рд░рд┐рд▓реАрдЬ" рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдзреВрд░рд╛ рдЕрд▓реНрдлрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реНрдЯреЛрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦрд╛рд▓реА рд░рд╣рд╛ред
  • рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рдФрд░ рдЕрдиреНрдп рдХрд░реНрдордЪрд╛рд░реА рддрдм рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдЙрдЪрд┐рдд рдкрд╛рд░рд┐рд╢реНрд░рдорд┐рдХ рдФрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЛрдВ рдХреА рдЙрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕реНрд╡рд╕реНрде рдХрд╛рдордХрд╛рдЬреА рдорд╛рд╣реМрд▓ рдХреЗ рдмрджрд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, Microsoft рдХреЗ рдмрд╣реБ-рдЕрд░рдм рдбреЙрд▓рд░ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рдЕрд╡реИрддрдирд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдерд┐рдпреЛрдВ / рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рддрдерд╛рдХрдерд┐рдд "рджрд┐рди рдХреА рдиреМрдХрд░рд┐рдпреЛрдВ" рдФрд░ "рд░рд╛рдд рдХреА рдиреМрдХрд░рд┐рдпреЛрдВ" рдФрд░ рдЙрдирдХреА рдЕрд╕реНрдерд┐рд░ / рдЕрд╕реНрд╡рд╕реНрде рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрднреА рднреА рдЙрд▓рдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдПрдВрдбреНрд░реЙрдЗрдб рдХреА рд╡рд┐рд╢рд╛рд▓ рдорд╛рд░реНрдХреЗрдЯрд╢реЗрдпрд░ рдЬреАрдд рдЕрд╡реИрддрдирд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдирд╣реАрдВ рдереАред рдпрджрд┐ рдЕрд╡реИрддрдирд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдерд┐рдпреЛрдВ рдХреА рдЬреАрдд рдХрд╛ рдХрд╛рд░рдг рд╣реЛрддрд╛, рддреЛ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ред рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИ: рдПрдВрдбреНрд░реЙрдЗрдб рдЯреИрдмрд▓реЗрдЯ рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреА рдХреАрдордд рд╡рд┐рдВрдбреЛрдЬ рдЯреИрдмрд▓реЗрдЯ рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдУрдкрди рд╕реЛрд░реНрд╕" рдзрд░реНрдореЛрдВ/рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рдУрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рд╣реИ), рдмрд▓реНрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреА рд╕рд╕реНрддреА рдХреАрдорддреЛрдВ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
  • Win16 рдЕрддреНрдпрдВрдд рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╢реБрд░реБрдЖрддреА "рд╡рд╛рдЗрд▓реНрдб рд╡реЗрд╕реНрдЯ" рджрд┐рдиреЛрдВ рд╕реЗ 20-30 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреА рддрдХрдиреАрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, Win16 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирдпрд╛ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдЗрд╕реЗ "Win32" рдХрд╣рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдореВрд▓ рд░реВрдк рд╕реЗ Win16 рд╣реИред Win32 Win16 рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЖрдХрд╛рд░ 16 рдмрд┐рдЯреНрд╕ рд╕реЗ 32 рдмрд┐рдЯреНрд╕ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛред Microsoft рдХреЗ рдмрд╣реБрдд рд╕реЗ рд╕рдореВрд╣ Win16/32 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирдпрд╛ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рд╣реА рдЕрдХреНрд╖рдо рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рдмрд░реНрдмрд╛рджреА рд╣реИред

@anawishnoff

рд╣рдо рдЗрд╕реЗ рдореВрд▓ WinUI рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╛ рд▓реЗрдЦ "рд╕рдирдХ рдХреЙрд╕реНрдЯ" рднреА рджреЗрдЦреЗрдВ:

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

рдФрд░ рдЗрд╕реА рддрд░рд╣ "рдпреЛрдЬрдирд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣" :

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

WinRT/UWP рдХреЗ рдХрд╛рд░рдг Microsoft рдХреЛ рдкрд╣рд▓реЗ рдпрд╛ рджреВрд╕рд░реЗ рд╡рд░реНрд╖ рдореЗрдВ $900 рдорд┐рд▓рд┐рдпрди рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реБрдЖ, рдФрд░ рдПрдХ рдЦрд╛рд▓реА рдРрдк рд╕реНрдЯреЛрд░ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рд╛ред WinRT/UWP рдПрдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╡рд┐рдлрд▓рддрд╛ рдереА, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рд╡рд░реНрд╖ рдореЗрдВ рдирд┐рд░рд╕реНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди "рдпреЛрдЬрдирд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣" рдФрд░ рдбреВрдм рд▓рд╛рдЧрдд рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдкреНрд░рддрд┐ рдШреГрдгрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рд╛рдорд╛рди рдкреНрд░рдмрдВрдзрди рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдкрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдиреЗ рдЕрдВрддрддрдГ WinRT/UWP рдХреА рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдорд┐рдЯрд╛ рджрд┐рдпрд╛ рдпрд╛ рдЙрд▓рдЯ рджрд┐рдпрд╛? рдирд╣реАрдВ, рдЕрдЧрд░ рдЖрдк рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдорд╛рд░реНрдХреЗрдЯрд╢реЗрдпрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рджреЗрдЦреЗрдВ рддреЛ рдпрд╣ рдЖрдЬ рднреА рдПрдХ рднрдпрд╛рд╡рд╣ рд╡рд┐рдлрд▓рддрд╛ рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рд╡реЗ рд╡рд┐рд╡рд░рдг UWP рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдЯреАрдХ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рдЖрдЬ рд╣рдо рд╕рднреА рдХреЛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ, WinRT/UWP рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ 7-8 рд╕рд╛рд▓ рдмрд╛рдж, рдЕрдм UWP рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдлрд┐рд░ рд╕реЗ "рдпреЛрдЬрдирд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣" рдХреЗ рд╢рд┐рдХрд╛рд░ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред "рдФрд░ рдбреВрдмреА рд╣реБрдИ рд▓рд╛рдЧрддреЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХрд╛ рд╡рд┐рд░реЛрдзред

рддреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╣рдо рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЛ рд░рджреНрдж рдХрд░рдХреЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдмрдЪрд╛ рд╕рдХрддреЗ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд░реНрд╖реЛрдВ рдкрд╣рд▓реЗ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рд╣рдо рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: WinRT рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рд╡рд┐рд╢рд╛рд▓ рдХреНрд╖рддрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдФрд░ рдиреБрдХрд╕рд╛рди рди рдХрд░реЗрдВ, рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ/рдиреАрддрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, WinRT рдХреА рд╡рд╣реА рднрдпрд╛рд╡рд╣ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ / рдЬрд╛рд░реА рд░рдЦрдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреА рдЗрддрдиреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЛ рдЕрдиреБрддреНрдкрд╛рджрдХ рдкреБрд░рд╛рдиреЗ рдЕрдкреНрд░рдмрдВрдзрд┐рдд "рдореВрд▓" рдХреЛрдб рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рджреЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ - рджреЗрд░реА рдХреЛ рдФрд░ рднреА рдмрджрддрд░ рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд╣реИрдВ?

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

рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдмрджрд▓рдирд╛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬреНрдЮрд╛рди/рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд▓реЗрдЦрдХреЛрдВ рд╕реЗ рд╕рднреА рдмреЗрд╣рддрд░реАрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрди рдкреБрд╕реНрддрдХреЛрдВ рдХреЛ рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рдФрд░ рдлрд┐рд░ рдЗрди рд╕рднреА рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рдмрдВрдзрди рдкреБрд╕реНрддрдХреЛрдВ рдХреЛ рдЕрд▓рд╛рд╡ рдореЗрдВ рдлреЗрдВрдХрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд▓рддреЗ рд╣реБрдП рджреЗрдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред

@verelpode рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдЖрдкрдХреА рджреЛ рдмрд╣реБрдд рдмрдбрд╝реА рдкреЛрд╕реНрдЯ

@dotMorten - рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдг рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрд╛рддрд╛, рддреЛ рд▓реЛрдЧ рдЗрд╕реЗ рдирд╣реАрдВ рд╕рдордЭреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрдм рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдпрд╣ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рднреА рдЧреБрд░реЗрдЬ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╡реНрдпрд░реНрде рд╣реИ, рдФрд░ рднрд▓реЗ рд╣реА рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХреЗ, рдлрд┐рд░ рднреА рд╢реВрдЯ рдХрд░рдирд╛ рдорд╛рдирд╡ рд╕реНрд╡рднрд╛рд╡ рд╣реИред рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдмреБрд░реА рдЦрдмрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдЫ рднреА рди рдХрд╣реЗрдВ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реЛрдЪрддреЗ рд╣реБрдП рдХреЗрд╡рд▓ "рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ" рдореБрд╕реНрдХреБрд░рд╛рдПрдВред

рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ v3 рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдмрд╛рдЙрдВрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдпрд╣ v3 рдЕрдирдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рдорд╛рди рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред "рдпреЛрдЬрдирд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣" рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред

рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╣реЛрдо рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдВ:
https://www.microsoft.com/en-us/
рдЕрдм рд╣реЛрдо рдкреЗрдЬ рдХреЛ рддрдм рддрдХ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдЬрдм рддрдХ рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рджрд┐рдЦрд╛рдИ рди рджреЗред рдУрд╣! рдЙрд╕ рдУрд░ рджреЗрдЦреЛ! рд╣рдо рд╣реЛрдо рдкреЗрдЬ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╣реЛрдо рдкреЗрдЬ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХрд╛ рдХрд╣реАрдВ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ! рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдпрд╛рдиреА рдЬрд╛рдЧреЛред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдПрдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╡рд┐рдлрд▓рддрд╛ рдереА рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЙрдиреНрд╣реАрдВ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд┐рдирдХреЗ рдХрд╛рд░рдг UWP рдХреА рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЖрдкрджрд╛ рд╕реЗ рдмрдЪрд╛рд╡ рдФрд░ рдЙрдмрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ред
рдпрд╣ рдПрдХ рдкреНрд░рдмрдВрдзрди рдЧрд▓рддреА рд╣реЛрдЧреА рдпрджрд┐ WinUI рдФрд░ DataGrid UWP рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

"рдордИ 2016 рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛, .... 2017 рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЬреЛ рдмреЗрд▓реНрдлрд╝реЛрд░ рдиреЗ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рд╡рд┐рдВрдбреЛрдЬ 10 рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдирдП рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рдореЗрдВ рдХрдореА рдФрд░ рдХрдореА рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддреЗ рд╣реБрдП рдРрдк рдбреЗрд╡рд▓рдкрдореЗрдВрдЯред"
-- https://en.wikipedia.org/wiki/Microsoft_Mobile

рдПрдирд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5 рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред UWP рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди WinUI3 UWP рдРрдк рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЬреНрдпрд╛рджрд╛рддрд░ UWP рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рдЧрддреЗ рд╣реИрдВ? рддреЛ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╣реА рдЧрд▓рддрд┐рдпрд╛рдБ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЙрд╕рдиреЗ рдХреАрдВред рддреЛ рд╡реЗ рдХреМрди рд╕реА рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдЖрдк рдХреИрд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕реА ++ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)

@dotMorten

рдПрдирд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5 рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдирд╛ рдХреЛ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдерд╛ред рдореИрдВ рдПрдирд╛ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдерд╛ред

WinUI3 UWP рдРрдк рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рдореЗрд░реЗ рд╕рдВрджреЗрд╢ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред WinUI 3 рдХрд╛ рдЕрдирдмрд╛рдЙрдВрдб рдФрд░ nuget рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ WinUI 3 рд╡рд╣реА рдкреНрд░рдмрдВрдзрди рдЧрд▓рддрд┐рдпрд╛рдБ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг UWP рдФрд░ Windows Phone рдФрд░ Microsoft рдХреЗ рдмрд╣реБ-рдЕрд░рдм рдбреЙрд▓рд░ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реБрдЖред

рдЖрдк рдХреИрд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрдд рдореЗрдВ 6 рдЧреЛрд▓реА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред рджреВрд╕рд░рд╛ рдмреБрд▓реЗрдЯ рдкреЙрдЗрдВрдЯ (рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ) рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ WinUI рдФрд░ UWP рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдкрд╣рд▓рд╛ рдмреБрд▓реЗрдЯ рдмрд┐рдВрджреБ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдореИрдВрдиреЗ рдпрд╣ рднреА рд▓рд┐рдЦрд╛: рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреА рдЗрддрдиреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЛ рдЕрдиреБрддреНрдкрд╛рджрдХ рдкреБрд░рд╛рдиреЗ рдЕрдкреНрд░рдмрдВрдзрд┐рдд "рдореВрд▓" рдХреЛрдб рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреАрдЯрд╛ рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рджреЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ - рджреЗрд░реА рдХреЛ рдФрд░ рднреА рдмрджрддрд░ рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд╣реИрдВ?

@anawishnoff рдиреЗ рд▓рд┐рдЦрд╛:

рд╣рдо рдЗрд╕реЗ рдореВрд▓ WinUI рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ

"рдЗрд╕реЗ рдПрдХ рдореВрд▓ WinUI рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕реНрдирд╛рддрдХ рдХрд░рдирд╛" рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕реА рд╣реА рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рдирд┐рд░рдВрддрд░рддрд╛/рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЧрдарди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд "рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рдореЗрдВ рдХрдореА рдФрд░ рдРрдк рд╡рд┐рдХрд╛рд╕ рдХреА рдХрдореА" рд╣реБрдИ:

"рдордИ 2016 рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛, .... 2017 рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЬреЛ рдмреЗрд▓реНрдлрд╝реЛрд░ рдиреЗ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рд╡рд┐рдВрдбреЛрдЬ 10 рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдирдП рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рдореЗрдВ рдХрдореА рдФрд░ рдХрдореА рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддреЗ рд╣реБрдП рдРрдк рдбреЗрд╡рд▓рдкрдореЗрдВрдЯред"
-- https://en.wikipedia.org/wiki/Microsoft_Mobile

рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рдЙрд╕реА рд░рд╛рд╕реНрддреЗ рдкрд░ рдХреНрдпреЛрдВ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдореЛрдмрд╛рдЗрд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛?

@verelpode

рд╡рд┐рдирдпреВрдЖрдИ 3 рдкреНрд░рдмрдВрдзрди рдХреА рд╡рд╣реА рдЧрд▓рддрд┐рдпрд╛рдВ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдЕрд░рдмреЛрдВ рдбреЙрд▓рд░ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реБрдЖред

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

@verelpode рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╣рд╛рдБ рд╡рд┐рд╖рдп рдкрд░ рд░рдЦреЗрдВред рдпрджрд┐ рдЖрдк рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ WinUI рдпрд╛ UWP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдЪрд░реНрдЪрд╛ рд╡рд┐рд╖рдп рд╢реБрд░реВ рдХрд░реЗрдВ рдпрд╛ рд╕реАрдзреЗ рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ (рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдореБрдЭреЗ рдпрд╛ рдбреАрдПрдо рдХреЛ рдИрдореЗрд▓ рдХрд░реЗрдВ)ред рдпрд╛ рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╡рд┐рд╖рдп рдЬреИрд╕реЗ #717 рдпрд╛ #1531 рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдкрдиреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЛ рд╕реА++ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛рдПрдВ рд╕рд╛рдЭрд╛ рдХреАрдВ, рд▓реЗрдХрд┐рди рдЕрд╕рд▓ рдореЗрдВ рдореВрд▓ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред @anawishnoff рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди-рд╡рд╛рд░, рдпрджрд┐ рдЗрд╕реЗ рд╕реА # рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ (рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╕реА ++ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╣рдордиреЗ рдЗрд╕реЗ WinRT рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ)ред

@jevansaks - рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд╖рдп рдкрд░ рдереА, рд▓реЗрдХрд┐рди рдмреБрд░реА рдЦрдмрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рджреВрдд рдХреЛ рдЧреЛрд▓реА рдорд╛рд░рдирд╛ рдорд╛рдирд╡ рд╕реНрд╡рднрд╛рд╡ рд╣реИред рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореБрдЭреЗ рджреБрдЦреА рдФрд░ рдирд┐рд░рд╛рд╢ рдХрд░рддреА рд╣реИред рдареАрдХ рд╣реИ, рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рд╕рд╣рд╛рдпрддрд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдИрдорд╛рдирджрд╛рд░ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ рдФрд░ рджрд░реНрджрдирд╛рдХ рдореБрджреНрджреЛрдВ рдХреЛ рдЫреВрддреА рд╣реИ рдЬреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдФрд░ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИрдВ (WinRT рдХреА рднрдпрд╛рд╡рд╣ рд╡рд┐рдлрд▓рддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдорд┐рдЯрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЗрд╕реЗ рд╕реНрдореГрддрд┐ рд╕реЗ рдФрд░ рдЙрд╕реА рдкреБрд░рд╛рдиреА рдореВрд▓ WinRT рдпреЛрдЬрдирд╛ рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрджрд╛ рдХрднреА рд╣реБрдИ рд╣реА рдирд╣реАрдВ)ред рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реВрдВрдЧрд╛ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрдЧреЗ рднрд╛рдЧ рдирд╣реАрдВ рд▓реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдФрд░ рд╕реАрдзреЗ рдмреЛрд▓рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рд▓реЛрдЧ рдХреЗрд╡рд▓ рдкрд░реЗрд╢рд╛рди рд╣реЛрдВрдЧреЗред

@verelpode рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдиреЗ "рдмреБрд░реА рдЦрдмрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рджреВрдд рдХреЛ рдЧреЛрд▓реА рдирд╣реАрдВ рдорд╛рд░реА"ред @jevansaks рдиреЗ рдЖрдкрдХреЛ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ UWP/WinUI/WinRT рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд╡реНрдпрд╛рдкрдХ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЕрдВрдХ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рдореБрджреНрджрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛, рдЬрдмрдХрд┐ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА/рд╡рд┐рдирдпреВрдЖрдИ/рд╡рд┐рдирдЖрд░рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ WinUI рдЯреАрдо рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реА рд╣реИ рдФрд░ рдЖрдкрдХреА рд╡реНрдпрд╛рдкрдХ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЦреЛрд▓рдиреЗ/рдореМрдЬреВрджрд╛ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реА рд╣реИред рдордВрдЪред

рдЬрд┐рди рдЪрд┐рдВрддрд╛рдУрдВ рдХрд╛ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╡реЗ WinUI рдЯреАрдо рдФрд░ рд╕рдореБрджрд╛рдп рджреЛрдиреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░реНрдЪрд╛ рдХрд╛ рдЖрдзрд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджрд╛ рдРрд╕реА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред

@anawishnoff
рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкрд┐рд╡рдЯ рд╡реНрдпреВрдЕрд░ рдХрдВрдЯреНрд░реЛрд▓ рдПрдЪрдЯреАрдПрдордПрд▓ рдирд╣реАрдВ рдерд╛ред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рджреЗрдЦреЗрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреБрдЫ рдРрд╕реА рдереА рдЬрд┐рд╕реЗ рд╣рдо рдХрднреА-рдХрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдерд╛ред https://www.microsoft.com/silverlight/pivotviewer/default# рдЗрд╕рдиреЗ рдЕрдкрдиреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдбреАрдк рдЬреВрдо рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред WinUI 3.0 рдореЗрдВ рдбреАрдк рдЬреВрдо рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ рд╢рд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд┐рдпрдВрддреНрд░рдгред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ рд╕реЗ рдбреАрдк рдЬреВрдо рдЬреИрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ "рдЫреЛрдбрд╝реЗ рдЧрдП" рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдХрднреА рднреА рдЙрддреНрдкрд╛рджрди рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡рд┐рдирдпреВрдЖрдИ 3.0 рдореЗрдВ рдЬреАрд╡рди рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рд╣реЛрдЧрд╛ред рд╣реЗрдХ рдЬрд╛рдУ рдбреЙ. рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЛ рддрд╣рдЦрд╛рдиреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЛ рдФрд░ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХрд░рд╡рд╛рдУ !!! рд╣рдореЗрдВ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдПрдХ рдЖрдВрджреЛрд▓рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдбреЙ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рд╡рд╛рдкрд╕ рд▓рд╛рдУ !!!!! рдХрд╣рд╛ рдЪрд▓реА рдЧрдпреА рдереА? рдбреЙ рд╡рд┐рдирдпреВрдЖрдИ !!!

@PaulMontgomerySP рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд┐рд╡рдЯ рдирд┐рдпрдВрддреНрд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд┐рдЫрд▓реА рдЪрд░реНрдЪрд╛ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХрдореНрдпреБрдирд┐рдЯреА рдЯреВрд▓рдХрд┐рдЯ рд╕реЗ рдпрд╣рд╛рдВ рдереА: https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/770

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

рдЪрдпрди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдШрдЯрдирд╛ рдХреНрд▓рд┐рдХ рдФрд░ рдХреАрдмреЛрд░реНрдб рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддреА рд╣реИред рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рдХреЗрд╡рд▓ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдиреЗ рд╕реЗ рдмрд╣реБрдд рд▓рд╛рдн рд╣реЛрдЧрд╛ред

@ рдЧреЛрдЗрдВрдЧ-рдЧреЙрди рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ? рдЖрдкрдХреЛ рдЕрдВрддрд░ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЯреИрдк рдХрд┐рдП рдЧрдП рдИрд╡реЗрдВрдЯ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕реАрдорд╛ рдЬреЛ рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдорд╛рд░рд╛ рд╣реИ рд╡рд╣ рд╣реИ DataGridTemplateColumn рдореЗрдВ рдПрдХ рд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ CellTemplateSelector (рдФрд░ рдпрд╣ CellEditingTemplate рд▓рд┐рдП рдЧрд╛рдпрдм рд╣реИ)ред рдпрд╣ рдЪрдпрдирдХрд░реНрддрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдпреВрдЖрдИ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдиреАрдЪреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдХреЗ рдпреВрдЖрдИ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗред

рдХреГрдкрдпрд╛ рди рдХреЗрд╡рд▓ рд▓рдЧрд╛рддрд╛рд░ рдХреНрд░рдо рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рдПрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдпрд╛ рд╣реИ:
https://github.com/duke7553/files-uwp/issues/276#issue -520060100

рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдХреНрд╕рд░ рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдо рдореЗрдВ рдЧреНрд░рд┐рдб рдХреЛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

1. рдлрд┐рд▓реНрдЯрд░ рдХреЛ рдмрдЪрд╛рдиреЗ, рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП linq рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, SQL рдХреНрд╡реЗрд░реА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЯреНрд░реА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ рдФрд░ рд░рд┐рд╡рд░реНрд╕ред рдЙрджрд╛рд╣рд░рдг - https://querybuilder.js.org/demo.html

  1. рдЙрдЪреНрдЪ рдЧрддрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдбреЗрдЯрд╛ рдХреНрд╖рдорддрд╛рдПрдВ, рдкреНрд░рджрд░реНрд╢рди рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдЯреНрд░реЗрдбрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдо > 1 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдм 1ms рд░реАрдлреНрд░реЗрд╢ рджрд░реЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред
  2. рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП i. рдЙрдЪреНрдЪ/рдирд┐рдореНрди рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ, ii. рдирд┐рдореНрди/рдЙрдЪреНрдЪ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ рдФрд░ iii. рдХреЛрдИ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдореИрдВ рдирд╣реАрдВред рдирд┐рдореНрди/рдЙрдЪреНрдЪ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ, ii. рдЙрдЪреНрдЪ/рдирд┐рдореНрди рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ рдФрд░ iii. рдХреЛрдИ рдЫрдБрдЯрд╛рдИ рдирд╣реАрдВ
  3. рдПрдХреНрд╕реЗрд▓ рдХреА рддрд░рд╣ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ
  4. рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рд╕реНрд╡рд░реВрдкрдг рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рд╕рд╢рд░реНрдд рд╕реНрд╡рд░реВрдкрдг
  5. рдЧреНрд░рд┐рдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ/рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЬреИрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░, рдХреЙрд▓рдо рдЪреМрдбрд╝рд╛рдИ, рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдЗрддреНрдпрд╛рджрд┐
  6. рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛, рд╕реБрдЪрд╛рд░реВред
  7. рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдЗрд╡реЗрдВрдЯ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЬрд╛рдп рд▓реЛрдб рдХрд░рдиреЗ рдХреА рд░реЗрдВрдЬ рдХреЗ рдмрд╛рдж рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдСрдмреНрдЬрд░реНрдЬреЗрдмрд▓ рдХреЛрд▓реЗрдХреНрд╢рди рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП INotifyPropertyChange рдлрд╛рдпрд░рд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  8. рдЬрдм рдбреЗрдЯрд╛ рд▓реЛрдб/рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реЛ, рдбреЗрдЯрд╛ рд▓реЛрдб рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реЛ, рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реЛ, рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реЛ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрд╕рд┐рдВрдХ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдмреЗрд╣рддрд░ рдШрдЯрдирд╛рдПрдВред
  9. рдЧреНрд░рд┐рдб рдЕрдХреНрд╕рд░ рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдлрд╝рд┐рд▓реНрдЯрд░, рд╢реНрд░реЗрдгреА рдЪрдпрди, рдХреНрд░реЙрд╕рдлрд╝рд┐рд▓реНрдЯрд░ (рдЬреИрд╕реЗ https://github.com/dc-js/dc.js), рдЪрд╛рд░реНрдЯ, рдкрд┐рд╡рдЯ рдЯреЗрдмрд▓ рдЖрджрд┐
  10. рд╕реНрдорд╛рд░реНрдЯ рдЫрдБрдЯрд╛рдИ рдЬреЛ рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ABC11, ABC111, ABC12 рдХреЗ рдмрдЬрд╛рдп рдХреНрд░рдордмрджреНрдз рдХреНрд░рдо ABC11, ABC12, ABC111
  11. рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЧреНрд░рд┐рдб рдХреЗ рдЕрд╕реАрдорд┐рдд рд╕реНрддрд░, рдЬреИрд╕реЗ https://docs.telerik.com/devtools/wpf/controls/radgridview/hierarchical-gridview/hierachy-overview

рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди: - рдмреЗрд╣рддрд░ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВ
https://news.ycombinator.com/item?id=21460966
https://uxdesign.cc/design-better-data-tables-4ecc99d23356

рдореИрдВ рд╕реАрдзреЗ рд╣реИрдбрд░ рд╕реЗ рдХреЙрд▓рдорд╡рд┐рдбреНрде рд╕реЗ рдЖрдмрджреНрдз рдирд╣реАрдВ рд╣реЛ рдкрд╛рдКрдВрдЧрд╛ред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рдореБрдЭреЗ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдкреНрд░реЙрдХреНрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЖрд╕рд╛рди рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдкрдВрдХреНрддрд┐ рдХрд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧрддрд┐рд╢реАрд▓ рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛ред
рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХрд╛ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдгред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ Telerik рдХреА рддрд░рд╣ CellDecorationStyleSelector рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред

рдЕрднрд┐рдЧрдореНрдпрддрд╛!
рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЯреВрд▓рдХрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ: https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/3400 & https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/3079
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдмрдХрд┐ Telerik RadDataGrid рдореЗрдВ рдХреБрдЫ рдмреЗрд╣рддрд░реАрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣реБрдВрдЪ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред

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

рд╢рд╛рдпрдж рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЕрднреА рддрдХ рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП ... рд▓реЗрдХрд┐рди рдХреИрд╕реЗ: рдХрд╕реНрдЯрдо рдкрдВрдХреНрддрд┐ рдпрд╛ рд╕реЗрд▓ рд╕реНрдЯрд╛рдЗрд▓?

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдкрд╛рда рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

WCT UWP рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ:
1) рдкреНрд░рджрд░реНрд╢рди
2) рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд┐рдд (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдирдХрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЙрд▓рдо рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рд╣реИ)
3) рдкреНрд░рддрд┐ рд╕реЗрд▓ рдорд╛рдЙрд╕ рдИрд╡реЗрдВрдЯ рдХреЛ рд╣реБрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдпрд╛рдиреА рдЯреИрдк, рд░рд╛рдЗрдЯ рдЯреИрдк, рдФрд░ рд╣реЛрд╡рд░, (рдпрд╛ рдкреЙрдЗрдВрдЯрд░ рдбрд╛рдЙрди рдпрд╛ рдЬреЛ рднреА рд╣реЛ)
4) рдкреНрд░рддрд┐ рд╕реЗрд▓ рдХреАрдмреЛрд░реНрдб рдЗрд╡реЗрдВрдЯ
5) рдпрджрд┐ (3) рдХрд╛рдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрддреА
6) рдкреНрд░рджрд░реНрд╢рди

рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдЖрдкрддреНрддрд┐ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ WinUI рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдиреЗ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдПрдВрдб-рдпреВрдЬрд╝рд░ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдЕрдВрджрд░/рд╕реАрдзреЗ рд╕реЗрд▓ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рд╡реАрдмреА 6 рдпрд╛рдж рд╣реИ? VB6 рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдиреЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╣рдЯрд╛рдПрдВ рдФрд░ рдирдпрд╛ рдЬреЛрдбрд╝реЗрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред рдЬреЛрдбрд╝реЗрдВ рдПрдХ рдЦрд╛рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдерд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддреА рд╣реИред рдкрдВрдХреНрддрд┐ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ рдФрд░ рджреВрд╕рд░реА рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИред

рдПрдХ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдЕрдзрд┐рдХрд╛рдВрд╢ рджреЗрд╡ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реЛрдВред

VB6 рдРрдк рдХреЛ UWP рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╣рдореЗрдВ рдРрдб/рдПрдбрд┐рдЯ/рдбрд┐рд▓реАрдЯ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ wpf/Xaml рд▓реЛрдЧ рд╣реИрдВ, рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рджреЛ рд╕реЗрдВрдЯ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ xaml рд▓рдбрд╝рдХрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╕рдВрдкрд╛рджрди рд╕реНрдерд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ! рдореЗрд░реА рдХреБрдЫ рдЗрдЪреНрдЫрд╛рдПрдВ/рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИрдВ:

  1. рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ рд╣реЛрдиреЗ рдкрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
  2. рдХреЙрд▓рдо рдХреЛ рдСрдЯреЛрд╕рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдгред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрддрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреЙрд▓рдо рдЖрдХрд╛рд░ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреЗ рд░рд╣реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдбреЗрдЯрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдВ, рдмрд┐рдирд╛ рджрд╕ рд▓рд╛рдЦ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рдмрд┐рдирд╛ред
  3. рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдирд┐рдпрдВрддреНрд░рдг/рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рд╕рдВрдкрд╛рджрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ (рдпрд╛ рд╕рд╛рде) рдХрд░рддрд╛ рд╣реИред (рдпрд╣ рдХрдо рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ рдпрджрд┐ # 1 рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред)
  4. DataError рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдЕрддреАрдд рдореЗрдВ рдХрдИ рдмрд╛рд░ рджрд░реНрдж рд╣реБрдЖ рд╣реИред)
  5. рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдСрдЯреЛ-рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА: http://stackoverflow.com/questions/2567809/how-to-autoscroll-a-datagridview-during-drag-and-drop
  6. "рд╡реЙрдЯрд░рдорд╛рд░реНрдХ" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдпрд╣ рджрд░реНрд╢рд╛рддреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХрдм "рдЧрдВрджрд╛" рд╣реИ ( рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рд╡реНрдпреВ рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧреА рд╕рдВрд╡рд░реНрджреНрдзрди рдХреЗ рд▓рд┐рдП
  7. рдЖрд╡рд╢реНрдпрдХ "рдХреБрдВрдЬреА" рд╕реЗрд▓ рдЦрд╛рд▓реА рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рдПрдХ рдкрдВрдХреНрддрд┐ (рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛) рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
  8. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реА рдЧрдИ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЫрд╡рд┐ (рд▓рд╛рд▓ X рдХреЗ рдмрдЬрд╛рдп) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреНрд╖рдорддрд╛ред рджреЗрдЦреЗрдВ: https://stackoverflow.com/questions/937919/datagridviewimagecolumn-red-x
  9. рдЪреЗрдХ-рдмреЙрдХреНрд╕ рдХреЙрд▓рдо рдмрджрд▓рдиреЗ рдкрд░ рддреБрд░рдВрдд рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рджреЗрдВ: https://stackoverflow.com/questions/11843488/how-to-detect-datagridview-checkbox-event-change

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

рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╕реЗ рдЗрдирдкреБрдЯ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ "рдирдпрд╛" рд╣реИ;)
_рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛_

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

рдореЗрд░реЗ рдРрдк рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ, рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ (DriveItems) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИрдВред рд╡рд┐рд╡рд░рдг рджреГрд╢реНрдп рдЖрдЗрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред

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

image

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВрдиреЗ рдЖрдЗрдЯрдо рдХреА "рдкреИрд░реЗрдВрдЯ" рдХреЙрд▓рдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░ рдЯреИрдк рдХрд┐рдпрд╛ рд╣реИ, рддреЛ /drive/root:/Documents/Vital%20Documents рдпрд╣рд╛рдВ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡рд╣рд╛рдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд┐рд╕реА рдХреЛ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд┐рдХ рдХреА рдЧрдИ рдШрдЯрдирд╛ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рдЙрд╕ рдШрдЯрдирд╛ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╕реЗрд▓ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЯреИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдкрдВрдХреНрддрд┐, рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдХреЙрд▓рдо рдирд╣реАрдВ), рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдореБрдЭреЗ рд╕реЗрд▓ рдЯреИрдк рдХрд┐рдП рдЧрдП рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреБрд▓реЗ рд╡рд┐рд╡рд░рдг рд╡реНрдпрд╡рд╣рд╛рд░ рджреЛрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЕрднреА рднреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ "рд╣реИрдХреНрд╕" рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЦреБрдж рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдбрд┐рдЬрд╛рдЗрдирд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдордХрд╛рдЬ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдЬреЛ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ, рд╡реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдЯреВрдЯрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдм рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдореЗрд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ DriveItem рдХреЛ CurrentItem рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ CurrentColumn рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рд╕рдВрдкреВрд░реНрдг DataGridColumn рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд┐рд╕рд╕реЗ рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдирд┐рдХрд╛рд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЕрдм рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ CurrentColumn рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдИрд╡реЗрдВрдЯ рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдИрд╡реЗрдВрдЯ рддрд░реНрдХ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╡рд░рдг рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдзрд┐рдХ рдХрдареЛрд░ рдирд┐рдпрдВрддреНрд░рдг рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд╡рддрдГ-рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЬрдм рднреА рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрд╣реАрдВ рднреА рдХреНрд▓рд┐рдХ рдХрд░реЗ, рддреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ DataGridColumn рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ ExpandDetails рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реЛ, рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкрдВрдХреНрддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рдЬрд╣рд╛рдВ рд╕рдВрдкрддреНрддрд┐ рдЭреВрдареА рд╣реИ рд╡рд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореЗрд░реЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓рд╛ рдХреЙрд▓рдо рдЖрдЗрдЯрдо рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░, рдпрд╛ рдЫрд╡рд┐ рдпрд╛ рдлреЛрдЯреЛ, рдСрдбрд┐рдпреЛ, рдЖрджрд┐ рдореЗрдВ рд╣реИред рдореИрдВ рдЙрд╕ рдХреЙрд▓рдо рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдСрдЯреЛ-рд╡рд┐рд╕реНрддрд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрде рдХреЙрд▓рдо рдкрд░ рдПрдХ рдХреНрд▓рд┐рдХ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд "рдЙрд╕ рдкрде рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ" рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

рдЫрдБрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП, рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдЫрдБрдЯрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░рдирд╛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рд╣реИ рдХрд┐ рд╣реБрдХрд┐рдВрдЧ/рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рдФрд░ рдХреЙрд▓рдмреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд░реНрддрдорд╛рди рдирд┐рдпрдВрддреНрд░рдг рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реАрдзрд╛ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

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

-рдзрдиреНрдпрд╡рд╛рдж, рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо!
-рдЗ

рд╕реНрдЯрд┐рдХреА рд╕рдореВрд╣: рдмрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджрд░реНрдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдореВрд╣ (рдпрд╛ рд╕рдореВрд╣, рдпрд╛рдиреА рдмреНрд░реЗрдбрдХреНрд░рдВрдм) рджреЗрдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рднреА рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕реВрдЪреА-рдЖрдзрд╛рд░рд┐рдд рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ: рд╕рдореВрд╣реАрдХреГрдд рд╕реВрдЪреА рджреГрд╢реНрдп, рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдФрд░ рдЯреНрд░реА рджреГрд╢реНрдпред

рдореИрдВ рдирдП WinUI ItemsRepeater рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирдпрд╛ рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдирд┐рдпрдВрддреНрд░рдг рддреИрдпрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рдФрд░ рд╡рд╣ рдирд┐рдпрдВрддреНрд░рдг рдЕрдкрдиреЗ рдЖрдЗрдЯрдореНрд╕рд╕реЛрд░реНрд╕ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ:
Object ItemsSource { get; set; };

@RBrid рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реИ ~ 1 рд╕рд╛рд▓ рдмрд╛рджред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ ItemsRepeater, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд╕реНрддреБ ItemsSource рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ:

  • рдЖрдИрд╕рдкреЛрд░реНрдЯрдЗрдиреНрдХреНрд░реАрдореЗрдВрдЯрд▓рд▓реЛрдбрд┐рдВрдЧ
  • IItemsRangeInfo
  • IS SelectionInfo

- рд╡рд╣рд╛рдВ рдЕрдм рдПрдорд╡реАрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рд╕реА ++ рд╕реЗ рдбрд╛рдЯрд╛рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред

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

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

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

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

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

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

Felix-Dev picture Felix-Dev  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ