Microsoft-ui-xaml: рдПрдХ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╕реНрдХреНрд░реЙрд▓ рд╡реНрдпреВрдЕрд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рджрд┐рд╕ре░ 2018  ┬╖  61рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/microsoft-ui-xaml

рдпрд╣ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдпрд╛ рдПрдкреАрдЖрдИ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдкреНрд░рдХрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдПрдкреАрдЖрдИ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдирдП рдпреВрдЖрдИ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ: рдЖрдк рд╕рд╛рд░рд╛рдВрд╢ рдФрд░ рддрд░реНрдХ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд▓рд┐рдВрдХ WinUI рд╕реБрд╡рд┐рдзрд╛/API рдкреНрд░рд╕реНрддрд╛рд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ: https://github.com/Microsoft/microsoft-ui-xaml-specs/blob/master/docs/feature_proposal_process.md рдЕрдкрдиреА рд╕реБрд╡рд┐рдзрд╛ рдпрд╛ API рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реАрд░реНрд╖рдХ рдЬреЛрдбрд╝реЗрдВред рдХреГрдкрдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдмрдиреЗрдВ

рдкреНрд░рд╕реНрддрд╛рд╡: рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░

рд╕рд╛рд░рд╛рдВрд╢

рдЯреАрдПрд▓: рдбреЙ; XAML рдореЗрдВ рдПрдХ рд▓рдЪреАрд▓рд╛, рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди, рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдФрд░ рдЬрд╝реВрдорд┐рдВрдЧ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬреЛ рдХрд┐ Win10 рдХреЗ рдбрд╛рдЙрдирд▓реЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЕрднреА рднреА рд▓реАрд╡рд░реЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рджрд▓реАрд▓

рдХреГрдкрдпрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХреЛ WinUI рдореЗрдВ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ рддреЛ рдЖрдк рдпрд╣ рднреА рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди WinUI рд░реЛрдбрдореИрдк рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ: https://github.com/Microsoft/microsoft-ui-xaml-specs/blob/master/docs/roadmap.md

рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░реЗрдкреЛ рдореЗрдВ рд▓рд╛рдирд╛ рдЬреЛ рдХреЛрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдкрд░ рд╕реНрддрд░рд┐рдд рд╣реЛ, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИ:

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

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

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

рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдпреЛрдЬрдирд╛

_Windows_.UI.Xaml.Controls рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдореМрдЬреВрджрд╛ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдЕрдЫреВрддрд╛ рд░рд╣реЗрдЧрд╛ (рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛)ред

рдирдпрд╛ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ _Microsoft_.UI.Xaml.Controls рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рд░рд╣реЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдПрдкреАрдЖрдИ рдЬреНрдпрд╛рджрд╛рддрд░ _Windows_ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рд▓рдХреНрд╖рд┐рдд рд╕рдорд╛рдпреЛрдЬрди рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рд╕реНрдкрд╖реНрдЯ рд▓рд╛рдн рд╣реЛрдЧрд╛ (рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ, рдирдИ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВ, рдЖрджрд┐)ред

рдирдП рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╣рдо рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░, рд╕реНрдХреНрд░реЙрд▓рд░ рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ Microsoft.UI.Xaml.Controls._Primitives_ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд░рд╣реЗрдЧрд╛ред рд╕реНрдХреНрд░реЙрд▓рд░ рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдФрд░ рдЬрд╝реВрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

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

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

рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ


| # | рдлрд╝реАрдЪрд░ | | рдкреНрд░рд╛рдердорд┐рдХрддрд╛ |
|:-:|:--|-|:-:|
| 1 | рдореМрдЬреВрджрд╛ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде _рдЧреИрд░-рд╕реАрд▓рдмрдВрдж_, рдкреИрдирд┐рдВрдЧ рдФрд░ рдЬрд╝реВрдорд┐рдВрдЧ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред || рдЕрд╡рд╢реНрдп |
| 2 | рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕рдорд░реНрдерд┐рдд API рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред || рдЕрд╡рд╢реНрдп |
| 3 | рдлреНрд░реЗрдорд╡рд░реНрдХ-рд╕реНрддрд░реАрдп XAML рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рд╕рд┐рд╕реНрдЯрдо рдлреЛрдХрд╕ рд░реЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЗрдВрджреНрд░рд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ (рдХреАрдмреЛрд░реНрдб, рдЧреЗрдордкреИрдб, рд╕реНрдХреНрд░реАрди рд░реАрдбрд░)
- рдкреНрд░рднрд╛рд╡реА рд╡реНрдпреВрдкреЛрд░реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ
- рд╕реНрдХреНрд░реЙрд▓ рдПрдВрдХрд░рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ || рдЕрд╡рд╢реНрдп|
| 4 | рдЗрдирдкреБрдЯ-рдЪрд╛рд▓рд┐рдд рдПрдирд┐рдореЗрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо || рдЕрд╡рд╢реНрдп |
| 5 | рд░реЗрдкреЛ (рдпрд╛рдиреА ParallaxView, RefreshContainer, SwipeControl) рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╕реНрдХреНрд░реЙрд▓-рдЖрд╢реНрд░рд┐рдд рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред || рдЕрд╡рд╢реНрдп |
| 6 | рдЬрдбрд╝рддреНрд╡реАрдп рджреГрд╢реНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ (рдпрд╛рдиреА рдХрд╕реНрдЯрдо рдПрдирд┐рдореЗрдЯреЗрдб рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдпрд╛ рдЬрд╝реВрдорд┐рдВрдЧ) рдХреЗ рд▓рд┐рдП рд╡рдХреНрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред || рдЕрд╡рд╢реНрдп |
| 7 | рдкреВрд░реНрдг рдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╝рд╕реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреГрд╢реНрдп рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреЗ рдмрд┐рдВрджреБ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ) || рдЕрд╡рд╢реНрдп |
| 8 | рдЖрд╡реЗрдЧ/рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реЗрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреГрд╢реНрдп рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбреНрд░реИрдЧ-рдПрдВрдб-рдбреНрд░реЙрдк рдХреЗ рджреМрд░рд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд┐рдХрдиреА рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдпрд╛ рдорд╛рдЙрд╕ рдЪрдпрди рдЖрдпрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╣реБ-рдЪрдпрди) || рдЕрд╡рд╢реНрдп |
| 9 | рдУрд╡рд░рдкреИрди рдФрд░ рдХрд┐рддрдирд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо || рдЕрд╡рд╢реНрдп |
| 10 | рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо || рдЕрд╡рд╢реНрдп |
| 11 | рд╕реНрдиреИрдк рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЬрд╝реВрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред || рдЪрд╛рд╣рд┐рдП |
| 12 | рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо "рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░" рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдлреЛрдЯреЛ рдЯрд╛рдЗрдорд▓рд╛рдЗрди рд╕реНрдХреНрд░рдмрд░)ред || рдЪрд╛рд╣рд┐рдП |
| 13 | рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдкрд░реНрд╢ рдпрд╛ рдХрд▓рдо рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ, рд▓реЗрдХрд┐рди рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдЗрдирдкреБрдЯ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ)ред || рдЪрд╛рд╣рд┐рдП |
| 14 | рд╕реНрдХреНрд░реЙрд▓ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ) || рдЪрд╛рд╣рд┐рдП |
| 15 | рд╕реНрдЯрд┐рдХреА рд╣реЗрдбрд░/рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред || рдЪрд╛рд╣рд┐рдП |
| 16 | рддреНрд╡рд░рд┐рдд рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдЗрд╢рд╛рд░реЗ рдХрд░рддрд╛ рд╣реИред || рдЪрд╛рд╣рд┐рдП |
| 17 | рдорд╛рдЙрд╕ рдордзреНрдп рдХреНрд▓рд┐рдХ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдПрдХреНрд╕ рдкреНрд░рджрд╛рди |mousewheel panning | рдЪрд╛рд╣рд┐рдП |
| 18 | рдорд╛рдЙрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдФрд░ рдкреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рд╡реНрдпреВрдЕрд░ рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛)ред |mouse hand cursor for panning | рдЪрд╛рд╣рд┐рдП |
| 19 | рдЬрд╝реВрдорд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╝реВрдо рд╕реНрд▓рд╛рдЗрдбрд░)ред || рдЪрд╛рд╣рд┐рдП |
| 20 | рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред || рдЪрд╛рд╣рд┐рдП |
| 21 | рд╕рдорд░реНрдерди рд░реЛрдЯреЗрд╢рди рдЗрд╢рд╛рд░реЛрдВред || рд╕рдХрддрд╛ рд╣реИ |
| 22 | рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ- рдФрд░ рдЬрдВрдХ-рдореБрдХреНрдд рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рда рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдп)ред || рд╕рдХрддрд╛ рд╣реИ |
| 23 | рдЗрдирдкреБрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рджреГрд╢реНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рд╡рдХреНрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдЕрд░реНрдерд╛рдд рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХреБрдУрдВ рдЬреИрд╕реЗ рдлрд┐рдВрдЧрд░ рдбрд╛рдЙрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ)ред || рд╕рдХрддрд╛ рд╣реИ |
| 24 | рд╕реНрдХреНрд░реЙрд▓-рдЯреВ-рдЯреЙрдк рдпрд╛ рдмреЙрдЯрдо рдЬреЗрд╕реНрдЪрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ ред || рд╕рдХрддрд╛ рд╣реИ |
| 25 | рдУрд╡рд░рдкреИрдирд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо ред || рд╕рдХрддрд╛ рд╣реИ |
| 26 | UIElement рдХреА ManipulationMode рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рднреАрддрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо ред || рд╕рдХрддрд╛ рд╣реИ |
| 27 | рдЬрдбрд╝рддрд╛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░/рдпрд╛ рдЬрдбрд╝рддрд╛ рд╕реЗ рдЙрдЫрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред || рд╕рдХрддрд╛ рд╣реИ|
| 28 | рд╕рд╛рдордЧреНрд░реА рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдпрд╛рдиреА CanContentRenderOutsideBounds )ред || рд╕рдХрддрд╛ рд╣реИ |
| 29 | рдПрдХ рджреГрд╢реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред || рд╕рдХрддрд╛ рд╣реИ |

рд╢рдмреНрджрд╛рд╡рд▓реА

  • _Overpan_ рддрдм
  • _Railing_ рддрдм
  • _Chaining_ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рддреА рд╣реИ рдФрд░ рдЬрдм рдЖрдВрддрд░рд┐рдХ рдХреА рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЧрддрд┐ рдЕрдкрдиреА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИ рддреЛ рдЗрд╕реЗ рдмрд╛рд╣рд░реА рдкрд░ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • _рд╕реНрдиреИрдк рдкреЙрдЗрдВрдЯ_ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЗ рднреАрддрд░ рд╕реНрдерд╛рди рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реНрдпреВрдкреЛрд░реНрдЯ рдЬрдбрд╝рддреНрд╡реАрдп рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖ рдЬрд╛рдПрдЧрд╛ (рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреА рдЙрдВрдЧрд▓реА рдЙрдард╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдПрдирд┐рдореЗрдЯреЗрдб рд╕реНрдХреНрд░реЙрд▓)ред FlipView рдЬреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдиреИрдк рдкреЙрдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • _рд╕реНрдХреНрд░реЙрд▓ рдПрдВрдХрд░рд┐рдВрдЧ_ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рджреГрд╢реНрдп рд╕рд╛рдордЧреНрд░реА рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпреВрдкреЛрд░реНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдХрд╛рд░рдг рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдпрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рдЕрдЪрд╛рдирдХ рдмрджрд▓рд╛рд╡ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ (рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд▓реЗрдЦ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдХреНрд╖рдг рдмрд╛рдж рд╕рдм рдХреБрдЫ рдиреАрдЪреЗ рдХреВрдж рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЫрд╡рд┐/рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрдВрдд рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) . рдЪрд░-рдЖрдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп UI рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реЙрд▓ рдПрдВрдХрд░рд┐рдВрдЧ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • _рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХреБрдПрдВ_ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЗ рднреАрддрд░ рдРрд╕реЗ рд╕реНрдерд╛рди рд╣реИрдВ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЙрдВрдЧрд▓реА рдиреАрдЪреЗ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рдХрдерд┐рдд рдШрд░реНрд╖рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреИрди рдпрд╛ рдЬрд╝реВрдо рдХрд░рдиреЗ рдкрд░ рдЧрддрд┐ рдзреАрдореА рдпрд╛ рддреЗрдЬ рд╣реЛрддреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг

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

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛

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

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

рд▓рдВрдмрд╡рдд рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ (рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ)

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

<ScrollViewer Width="500" Height="400">
    <ItemsRepeater ItemsSource="{x:Bind ViewModel.Items}" ItemTemplate="{StaticResource MyTemplate}"/>
</ScrollViewer>

рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ

рдпрд╣ рдореМрдЬреВрджрд╛ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рд╕реЗ рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкреНрд░рд╕реНрдерд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕рдиреЗ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рд╣реИред

<ScrollViewer Width="500" Height="400" ContentOrientation="Horizontal">
    <StackPanel Orientation="Horizontal">
        <!-- ... -->
    </StackPanel>
</ScrollViewer>

_ContentOrientation_ рдЧреБрдг рд╕реЗрдЯ рдХрд░рдХреЗ рдХреЗрд╡рд▓ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХреА

рдПрдХ рдмрдбрд╝реА рдЫрд╡рд┐ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛

_Both_ рдХреА рд╕рд╛рдордЧреНрд░реА рдУрд░рд┐рдПрдВрдЯреЗрд╢рди рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рд▓рдВрдмрд╡рдд рджреЛрдиреЛрдВ рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИред

<ScrollViewer Width="500" Height="400" ContentOrientation="Both">
    <Image Source="Assets/LargeEiffelTower.png"/>
</ScrollViewer>

рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛ рдмрджрд▓рдирд╛

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

<ScrollViewer Width="500" Height="400"
              ContentOrientation="Both"
              HorizontalScrollBarVisibility="Hidden"
              VerticalScrollBarVisibility="Hidden">
    <Image Source="Assets/LargeEiffelTower.png"/>
</ScrollViewer>

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рдХреЛ рдмрдВрдж рдХрд░рдирд╛

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

<ScrollViewer IgnoredInputKind="MouseWheel,Pen"
              Width="500" Height="400"
              ContentOrientation="Both" >
    <SwapChainPanel x:Name="swapChainPanel" Width="40000" Height="40000">
        ...
    </SwapChainPanel>
</ScrollViewer>

рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рдПрдирд┐рдореЗрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ

рдбреЗрд╡рд▓рдкрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ ValueChanged рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреАрдореЗрд╢рди рдкрд░ рдХрд╕реНрдЯрдо рдЕрд╡рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рд╡рд░реНрдЯрд┐рдХрд▓ рдСрдлрд╝рд╕реЗрдЯ рдХреЛ рдПрдирд┐рдореЗрдЯ рдХрд░рддрд╛ рд╣реИред

private void VerticalOffsetSlider_ValueChanged(
    object sender,
    RangeBaseValueChangedEventArgs e)
{
    double verticalOffsetDelta = GetOffsetDelta();
    TimeSpan animationDuration = GetCustomAnimationDuration();

    // Initiate the scroll and enqueue the ScrollInfo we'll use to identify related events
    ScrollInfo scrollInfo = _scrollViewer.ScrollBy(0.0, verticalOffsetDelta);
    _myScrollRequests.Add(new MyScrollRequest(scrollInfo, animationDuration));
}

// Listen to the ScrollViewer's ScrollAnimationStarting event and customize 
// the default animation
private void ScrollViewer_ScrollAnimationStarting(
    ScrollViewer scrollViewer,
    ScrollAnimationStartingEventArgs e)
{
    MyScrollRequest myScrollRequest = _myScrollRequests.FindRequest(e.ScrollInfo);
    e.Animation.Duration = myScrollRequest.AnimationDuration;
}

// Dequeue the ScrollInfo once the action completes
private void ScrollViewer_ScrollCompleted(
    ScrollViewer scrollViewer,
    ScrollCompletedEventArgs e)
{
    _myScrollRequests.RemoveRequest(e.ScrollInfo);
}

рд╡рд┐рд╕реНрддреГрдд рдлрд╝реАрдЪрд░ рдбрд┐рдЬрд╝рд╛рдЗрди

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

рдЙрдЪреНрдЪ-рдиреАрддрд┐ рдФрд░ рдирд┐рдореНрди-рдиреАрддрд┐ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ

рд╕реНрдХреНрд░реЙрд▓рд░ (рдирд┐рдореНрди-рдиреАрддрд┐)

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

рд╕реНрдХреНрд░реЙрд▓рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рднреЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  • рдЕрднрд┐рдЧрдореНрдпрддрд╛ рд╕рдорд░реНрдерди
  • рдорд╛рд░реНрдХрдЕрдк рдХреЗ рдЕрдиреБрдХреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдПрдкреАрдЖрдИ
  • XAML рдХреЗ рд▓реЗрдЖрдЙрдЯ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг

рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ (рдЙрдЪреНрдЪ-рдиреАрддрд┐)

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

рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рд╕реНрдХреНрд░реЙрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

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

рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

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

рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░-рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ

рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛ / рд▓рдВрдмрд╡рдд рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛

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

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

namespace Microsoft.UI.Xaml.Controls
{
    public enum ScrollBarVisibility
    {
        Auto = 0,    // Only visible when the ZoomFactor * content size > viewport
        Visible = 1, // Always visible
        Hidden = 2   // Always hidden
    }
}

рдиреАрдЪреЗ рдХреА рддрд╕реНрд╡реАрд░ рдореЗрдВ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдХреЗ рдКрдкрд░ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рджреГрд╢реНрдпрдорд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдордЧреНрд░реА рд╡реНрдпреВрдкреЛрд░реНрдЯ рдХреЗ рд╕рдорд╛рди рдЪреМрдбрд╝рд╛рдИ рд╣реИред

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

рд╕реНрдХреНрд░реЙрд▓рд░-рдУрдирд▓реА рдПрдкреАрдЖрдИ

рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓ рдирд┐рдпрдВрддреНрд░рдХ / рд▓рдВрдмрд╡рдд рд╕реНрдХреНрд░реЙрд▓ рдирд┐рдпрдВрддреНрд░рдХ

рд╕реНрдХреНрд░реЙрд▓рд░ рдХреЛ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ "рд╡рд┐рдЬреЗрдЯ" рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ _HorizontalScrollController_ рдФрд░ _VerticalScrollController_ рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ _IScrollController_ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдРрд╕реЗ рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЗ рдкрд░рд┐рдЪрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдЕрдкрдиреЗ рд╕реНрдХреНрд░реЙрд▓рд░ рдХреЛ рджреЛ рдРрд╕реЗ рд╡рд┐рдЬреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдХрд╕реНрдЯрдо IScrollController рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред UI-рдереНрд░реЗрдб рд╕реНрд╡рддрдВрддреНрд░ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝реБрдЕрд▓ред

_scroller.HorizontalScrollController = new Acme.Slider(orientation: Orientation.Horizontal);
_scroller.VerticalScrollController = new Acme.Slider(orientation: Orientation.Vertical);

рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░/рд╕реНрдХреНрд░реЛрд▓рд░ рдХреА рдбрд╛рдЙрдирд▓реЗрд╡рд▓ рд╕реАрдорд╛рдПрдВ

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

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрдкреАрдЖрдИ

рд╕реНрдХреНрд░реЙрд▓ рд╡реНрдпреВрдЕрд░

```рд╕реА#
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ Microsoft.UI.Xaml.Controls.ScrollViewer: Control
{
рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ ();

// Default Value: non-null instance
Windows.UI.Composition.CompositionPropertySet ExpressionAnimationSources { get; }

/*

  • рд▓реЗрдЖрдЙрдЯ-рдХреЗрдВрджреНрд░рд┐рдд рдЧреБрдг
    */
    // рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди: рд╢реВрдиреНрдп
    UIElement рд╕рд╛рдордЧреНрд░реА {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; рд╕реЗрдЯ; };
// Default Value: Vertical
Microsoft.UI.Xaml.Controls.ContentOrientation ContentOrientation { get; set; };

// Default Value: 0.0
Double HorizontalOffset { get; };

// Default Value: 0.0
Double VerticalOffset { get; };

// Default Value: 1.0
Single ZoomFactor { get; };

// Default Value: 0.0
Double ExtentWidth { get; };

// Default Value: 0.0
Double ExtentHeight { get; };

// Default Value: 0.0
Double ViewportWidth { get; };

// Default Value: 0.0
Double ViewportHeight { get; };

// Default Value: 0.0
Double ScrollableWidth { get; };

// Default Value: 0.0
Double ScrollableHeight { get; };

// Default Value: Auto
M.UI.Xaml.Controls.ScrollBarVisibility HorizontalScrollBarVisibility {get;set;};

// Default Value: Auto
M.UI.Xaml.Controls.ScrollBarVisibility VerticalScrollBarVisibility {get;set;};

// Default Value: Collapsed
// Used for template binding the Visibility property of the horizontal
// ScrollBar in the control template
Visibility ComputedHorizontalScrollBarVisibility{ get; };

// Default Value: Collapsed
// Used for template binding the Visibility property of the vertical
// ScrollBar in the control template
Visibility ComputedVerticalScrollBarVisibility{ get; };

/*

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛-рдХреЗрдВрджреНрд░рд┐рдд рдЧреБрдг
    */
    // рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди: рд╕рдХреНрд╖рдо
    Microsoft.UI.Xaml.Controls.ScrollMode рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдореЛрдб { рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; рд╕реЗрдЯ; };
// Default Value: Enabled
Microsoft.UI.Xaml.Controls.ScrollMode VerticalScrollMode { get; set; };

// Default Value: Disabled
Microsoft.UI.Xaml.Controls.ZoomMode ZoomMode { get; set; };

// Default Value: All
Microsoft.UI.Xaml.Controls.InputKind IgnoredInputKind { get; set; };

// Default Value: Idle
Microsoft.UI.Xaml.Controls.InteractionState State { get; };

// Default Value: Auto
Microsoft.UI.Xaml.Controls.ChainingMode HorizontalScrollChainingMode { get; set; };

// Default Value: Auto
Microsoft.UI.Xaml.Controls.ChainingMode VerticalScrollChainingMode { get; set; };

// Default Value: True
boolean IsHorizontalRailEnabled { get; set; };

// Default Value: True
boolean IsVerticalRailEnabled { get; set; };

// Default Value: Auto
Microsoft.UI.Xaml.Controls.ChainingMode ZoomChainingMode { get; set; };

// Default Value: None
M.UI.Xaml.Controls.SnapPointsType HorizontalSnapPointsType { get; set; };

// Default Value: None
M.UI.Xaml.Controls.SnapPointsType VerticalSnapPointsType { get; set; };

// Default Value: Near
M.UI.Xaml.C.Primitives.SnapPointsAlignment HorizontalSnapPointsAlignment { g;s; };

// Default Value: Near
M.UI.Xaml.C.Primitives.SnapPointsAlignment VerticalSnapPointsAlignment { g;s; };

// Default Value: 0.95, 0.95
Windows.Foundation.Numerics.Vector2 ScrollInertiaDecayRate { get; set; }; 

// Default Value: 0.95
Single ZoomInertiaDecayRate { get; set; }; 

// Default Value: 0.1
Double MinZoomFactor { get; set; };

// Default Value: 10.0
Double MaxZoomFactor { get; set; };

// Default Value: 0.0
Double HorizontalAnchorRatio { get; set; };

// Default Value: 0.0
Double VerticalAnchorRatio { get; set; };

// Forwarded to inner ScrollerтАЩs IScrollAnchorProvider implementation
// Default Value: null
Windows.UI.Xaml.UIElement CurrentAnchor { get; };

/*

  • рддрд░реАрдХреЛрдВ
    */
    // рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдлрд╕реЗрдЯ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИред рдПрдирд┐рдореЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ,
    // рд╕реНрдиреИрдк рдкреЙрдЗрдВрдЯреНрд╕ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреНрд░реЙрд▓рдЗрдиреНрдлреЛ рд╕рдВрд░рдЪрдирд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
    Microsoft.UI.Xaml.Controls.ScrollInfo рд╕реНрдХреНрд░реЙрд▓рдЯреВ(
    рдбрдмрд▓ рдХреНрд╖реИрддрд┐рдЬ рдСрдлрд╕реЗрдЯ,
    рдбрдмрд▓ рд╡рд░реНрдЯрд┐рдХрд▓ рдСрдлрд╕реЗрдЯ);
// Asynchronously scrolls to specified offsets with optional animation,
// with optional snap points respecting. Returns a ScrollInfo struct.
Microsoft.UI.Xaml.Controls.ScrollInfo ScrollTo(
    double horizontalOffset,
    double verticalOffset,
    Microsoft.UI.Xaml.Controls.ScrollOptions options);

// Asynchronously scrolls by the provided delta amount.
// Allows animation, respects snap points. Returns a ScrollInfo struct.
Microsoft.UI.Xaml.Controls.ScrollInfo ScrollBy(
    double horizontalOffsetDelta,
    double verticalOffsetDelta);

// Asynchronously scrolls by the provided delta amount with
// optional animation, with optional snap points respecting.
// Returns a ScrollInfo struct.
Microsoft.UI.Xaml.Controls.ScrollInfo ScrollBy(
    double horizontalOffsetDelta,
    double verticalOffsetDelta,
    Microsoft.UI.Xaml.Controls.ScrollOptions options);

// Asynchronously adds scrolling inertia. Returns a ScrollInfo struct.
Microsoft.UI.Xaml.Controls.ScrollInfo ScrollFrom(
    Vector2 offsetsVelocity,
    Nullable<Vector2> inertiaDecayRate);

// Asynchronously zooms to specified zoom factor. Allows animation
// (respects snap points in v2). Returns a ZoomInfo struct.
Microsoft.UI.Xaml.Controls.ZoomInfo ZoomTo(
    float zoomFactor,
    Nullable<Vector2> centerPoint);

// Asynchronously zooms to specified offsets with optional animation
// (with optional snap points respecting in v2). Returns a ZoomInfo struct.
Microsoft.UI.Xaml.Controls.ZoomInfo ZoomTo(
    float zoomFactor,
    Nullable<Vector2> centerPoint,
    Microsoft.UI.Xaml.Controls.ZoomOptions options);

// Asynchronously zooms by the provided delta amount. Allows animation
// (respects snap points in v2). Returns a ZoomInfo struct.
Microsoft.UI.Xaml.Controls.ZoomInfo ZoomBy(
    float zoomFactorDelta,
    Nullable<Vector2> centerPoint);

// Asynchronously zooms by the provided delta amount with optional animation
// (with optional snap points respecting in v2). Returns an ZoomInfo struct.
Microsoft.UI.Xaml.Controls.ZoomInfo ZoomBy(
    float zoomFactorDelta,
    Nullable<Vector2> centerPoint,
    Microsoft.UI.Xaml.Controls.ZoomOptions options);

// Asynchronously adds zooming inertia. Returns a ZoomInfo struct.
Microsoft.UI.Xaml.Controls.ZoomInfo ZoomFrom(
    float zoomFactorVelocity,
    Nullable<Vector2> centerPoint,
    Nullable<float> inertiaDecayRate);

/*

  • рдЖрдВрддрд░рд┐рдХ рд╕реНрдХреНрд░реЙрд▓рд░ рдХреЗ IScrollAnchorProvider рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
    */
    рд╢реВрдиреНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдВрдХрд░ рдХреИрдВрдбрд┐рдбреЗрдЯ (UIElement рддрддреНрд╡);
    рд╢реВрдиреНрдп рдЕрдкрдВрдЬреАрдХреГрдд рдПрдВрдХрд░ рдХреИрдВрдбрд┐рдбреЗрдЯ (UIElement рддрддреНрд╡);

/*

  • рдЖрдпреЛрдЬрди
    */
    // рдЬрдм рднреА рдХреЛрдИ рд╣реЙрд░рд┐рдЬреЙрдиреНрдЯрд▓ рдСрдлрд╕реЗрдЯ, рд╡рд░реНрдЯрд┐рдХрд▓ рдСрдлрд╕реЗрдЯ рдФрд░ рдЬреВрдордлреИрдХреНрдЯрд░ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
    // рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдмрджрд▓ рдЧрдИред
    рдШрдЯрдирд╛ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛рдЗрд╡реЗрдВрдЯрд╣реИрдВрдбрд▓рд░рджреГрд╢реНрдп рдкрд░рд┐рд╡рд░реНрддрд┐рдд;
// Raised when any of the ExtentWidth and ExtentHeight dependency property changed.
event TypedEventHandler<ScrollViewer, Object> ExtentChanged;

// Raised when the State dependency property changed.
event TypedEventHandler<ScrollViewer, Object> StateChanged;

// Raised when a ScrollTo or ScrollBy call triggers an animation.
// Allows customization of that animation.
event TypedEventHandler<ScrollViewer, Microsoft.UI.Xaml.Controls.ScrollAnimationStartingEventArgs>
    ScrollAnimationStarting;

// Raised when a ZoomTo or ZoomBy call triggers an animation.
// Allows customization of that animation.
event TypedEventHandler
    <ScrollViewer, Microsoft.UI.Xaml.Controls.ZoomAnimationStartingEventArgs>
    ZoomAnimationStarting;

// Raised at the end of a ScrollTo, ScrollBy, or ScrollFrom asynchronous
// operation. Provides the original ScrollInfo struct.
event TypedEventHandler
    <ScrollViewer, Microsoft.UI.Xaml.Controls.ScrollCompletedEventArgs>
    ScrollCompleted;

// Raised at the end of a ZoomTo, ZoomBy, or ZoomFrom asynchronous operation.
// Provides the original ZoomInfo struct.
event TypedEventHandler
    <ScrollViewer, Microsoft.UI.Xaml.Controls.ZoomCompletedEventArgs>
    ZoomCompleted;

// Raised at the beginning of a bring-into-view-request participation.
// Allows customization of that participation. 
event TypedEventHandler
    <ScrollViewer, Microsoft.UI.Xaml.Controls.BringingIntoViewEventArgs>
    BringingIntoView;

// Raised to allow the listener to pick an anchor element, when anchoring
// is turned on.
event TypedEventHandler
    <ScrollViewer, Microsoft.UI.Xaml.Controls.AnchorRequestedEventArgs>
    AnchorRequested;

/*

  • рдирд┐рд░реНрднрд░рддрд╛ рдЧреБрдг
    */
    рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдкрддреНрддрд┐ рд╕рд╛рдордЧреНрд░реА рд╕рдВрдкрддреНрддрд┐ {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; };
    рд╕реНрдЯреЗрдЯрд┐рдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдкреНрд░реЙрдкрд░реНрдЯреА рдХрдВрдЯреЗрдВрдЯрдСрд░рд┐рдПрдВрдЯреЗрд╢рдирдкреНрд░реЙрдкрд░реНрдЯреА {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; };
    рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛ рд╕рдВрдкрддреНрддрд┐ {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; };
    рд╕реНрдЯреЗрдЯрд┐рдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдкреНрд░реЙрдкрд░реНрдЯреА рдХрдВрдкреНрдпреВрдЯреЗрдб рд╡рд░реНрдЯрд┐рдХрд▓рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╡рд┐рдЬрд╝рд┐рдмрд┐рд▓рд┐рдЯреАрдкреНрд░реЙрдкрд░реНрдЯреА {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; };
    рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рджреГрд╢реНрдпрддрд╛ рд╕рдВрдкрддреНрддрд┐ {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; };
    рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛рдкреНрд░реЙрдкрд░реНрдЯреА };
static DependencyProperty IgnoredInputKindProperty { get; };
static DependencyProperty HorizontalScrollModeProperty { get; };
static DependencyProperty VerticalScrollModeProperty { get; };
static DependencyProperty ZoomModeProperty { get; };
static DependencyProperty HorizontalScrollChainingModeProperty {g};
static DependencyProperty VerticalScrollChainingModeProperty {g};
static DependencyProperty IsHorizontalRailEnabledProperty {g};
static DependencyProperty IsVerticalRailEnabledProperty {g};
static DependencyProperty ZoomChainingModeProperty { get; };
static DependencyProperty MinZoomFactorProperty { get; };
static DependencyProperty MaxZoomFactorProperty { get; };
static DependencyProperty HorizontalAnchorRatioProperty { get; };
static DependencyProperty VerticalAnchorRatioProperty { get; };

}
```

рдкреНрд░рд╢реНрди рдЦреЛрд▓реЗрдВ

  • рдХреНрдпрд╛ ContentOrientation рдкреНрд░реЙрдкрд░реНрдЯреА (рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рд╕реЗ рдПрдХ) рд╣реЛрдЧреА рдЬреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдкрд░ рд▓реЗрдЖрдЙрдЯ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдпрд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ?
  • рдХреНрдпрд╛ рдЬреВрдорд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдирд┐рдпрдВрддреНрд░рдг (рдЬреИрд╕реЗ рдЬрд╝реВрдорд╡реНрдпреВрдЕрд░) рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рд╕рдЦреНрддреА рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛ?
Epic area-Scrolling feature proposal proposal-NewControl team-Controls

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

рдпреЗ рд╕рд╣реА рд╣реИред рд╣рдорд╛рд░реЗ рдорди рдореЗрдВ 3 рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдереАрдВ:

  1. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрдВрддрд╡реНрдп рдкрд░ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  2. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рд╣реИ рдХрд┐ рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд╛рд╢рд┐ рд╕реЗ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  3. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдЧрдВрддрд╡реНрдп рдХреНрдпрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

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

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


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

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

рдзрдиреНрдпрд╡рд╛рдж @mrlaceyред рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдЬрд╝реВрдорд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреИрд╕реЗ рдХрдо рдЦреЛрдЬ рдпреЛрдЧреНрдп рд╣реЛрдЧреАред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓реЗ рдкреНрд░рд╢реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ (рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП?) рд╕реЗ рдкреНрд░рд╕реНрдерд╛рди рдХрд╛ рдПрдХ рдФрд░ рдмрд┐рдВрджреБ рд╣реЛрдЧрд╛ред

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

рдкреБрди:: рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬреЛрдбрд╝рд╛ / рд╣рдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ... рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓ рдПрдВрдХрд░рд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рд╣реИред :) рдпрд╣ рдПрдХ рдЕрд▓реНрдкрдЬреНрдЮрд╛рдд рдХреНрд╖рдорддрд╛ рд╣реИ рдХрд┐ рдЕрддреАрдд рдореЗрдВ ListView/GridView рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд┐рдВрдЧ рдкреИрдирд▓ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓ рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рдХреЛ рдХреЗрд╡рд▓ ListView рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рдЬреИрд╕реЗ рд╣реА XAML MR рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП 3D рдЕрднреНрдпрд╛рд╡реЗрджрди рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЧрд╣рд░рд╛рдИ рдФрд░ рдЫрд╛рдпрд╛ 2D XAML рдореЗрдВ рдЖрддреЗ рд╣реИрдВ - рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╡рд┐рднрд┐рдиреНрди рдЧрд╣рд░рд╛рдИ рдорд╛рдиреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧреА, рдХреИрд╕реЗ рдЫрд╛рдпрд╛ рд╕реНрдХреНрд░реЙрд▓ рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рдКрдкрд░ рдпрд╛ рдкреАрдЫреЗ рдкреНрд░рд╕реНрддреБрдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЕрдиреНрдп рдореБрджреНрджреЗ рдЬреЛ рдХреНрд░реЙрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ XAML рдЯреАрдо рдХреЗ 3D рдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ - рдЬреЛ рдирдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Windows UI рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдзреАрд░реЗ-рдзреАрд░реЗ рдирдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрди рдЬрд╛рддрд╛ рд╣реИред

рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рд╕реНрдХреНрд░реЙрд▓ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдФрд░ рдЬрд╝реВрдо рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИред

рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдРрдкреНрд╕, рдСрдлрд╝рд┐рд╕ рдРрдкреНрд╕, PDF рд╡реНрдпреВрдЕрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░..... рдХреБрдЫ рднреА рдЬреЛ рд╕рд╛рдордЧреНрд░реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

@mrlacey рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ

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

рдЬрд╝реВрдорд┐рдВрдЧ рдХреА рдЦреЛрдЬ рдпреЛрдЧреНрдпрддрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ (рд╡реНрдпреБрддреНрдкрдиреНрди) рдирд┐рдпрдВрддреНрд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╕рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬ/рдирдореВрдиреЗ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╛ рд╕рдВрджрд░реНрдн рдПрдирдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

ScrollViewer.ScrollBehaviour = ScrollBehaviour.Zoom;
ScrollViewer.ScrollBehaviour = ScrollBehaviour.Scroll;
ScrollViewer.ScrollBehaviour = ScrollBehaviour.ParallaxScroll;

рд╣рд╛рд▓рд╛рдВрдХрд┐ ScrollViewer.ScrollBehaviour = ScrollBehaviour.Zoom; рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ZoomMode рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдВрдХрд┐ ScrollViewer.ScrollBehaviour = ScrollBehaviour.Zoom; рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ZoomMode рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

@micahl , рдореИрдВ рдЬрд╝реВрдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдорд╛рдирддрд╛ рд╣реВрдВ рдФрд░

рд╕рдорд░реНрдерди рд░реЛрдЯреЗрд╢рди рдЗрд╢рд╛рд░реЛрдВ

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

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

рдпрджрд┐ рдЬрд╝реВрдорд┐рдВрдЧ рдФрд░ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдкрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ...

ScrollViewer.ScrollBehaviour = ScrollBehaviour.ZoomAndScroll;

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

рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд░реНрдб рдпреВрдЖрдИ рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВ рддреЛ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдореЗрдВ рдЬреВрдо рдХрдВрдЯреНрд░реЛрд▓ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ред

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

@JustinXinLiu рд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рд░реЛрдЯреЗрд╢рди рдЬреЗрд╕реНрдЪрд░ рдХреЛ рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ (@likuba) рд╕реЗ рд╕рдкреЛрд░реНрдЯ рдХреА рдЬрд░реВрд░рдд рд╣реЛрдЧреАред

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

@micahl рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓рдлреНрд░реЙрдо рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреНрдпреЛрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рд╕реНрдХреНрд░реЙрд▓рдмреА рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИ рдмрд▓реНрдХрд┐ рдПрдХ рд╡реЗрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╣реИ?

@adrientetar рдХреНрдпрд╛ рдЖрдк рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рдмрдЬрд╛рдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реЙрд▓рдмреА рдХрд╛ рдПрдХ рдФрд░ рдЕрдзрд┐рднрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

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

рдпреЗ рд╕рд╣реА рд╣реИред рд╣рдорд╛рд░реЗ рдорди рдореЗрдВ 3 рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдереАрдВ:

  1. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрдВрддрд╡реНрдп рдкрд░ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  2. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рд╣реИ рдХрд┐ рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд╛рд╢рд┐ рд╕реЗ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  3. рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдЧрдВрддрд╡реНрдп рдХреНрдпрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

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

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

@lhak , рдЖрдк рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ

@micahl рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрддреАрдд рдореЗрдВ рднреА рдХреБрдЫ рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдореИрдВ рдЙрдирд╕реЗ рдмрдВрдзрд╛ рд╣реВрдВред

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

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

<ScrollViewer x:Name="outputScrollViewer">
  <Viewbox MaxWidth="{x:Bind outputScrollViewer.ViewportWidth, Mode=OneWay}" MaxHeight="{x:Bind outputScrollViewer.ViewportHeight, Mode=OneWay}">
    <TheXamlElement Width=X Height=Y/>
  </Viewbox>
</ScrollViewer>

рдпрд╣ рдЗрд╕рдХреЗ рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЖрдВрддрд░рд┐рдХ xaml рддрддреНрд╡ (рдЬрд┐рд╕рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рд╣реИ) рдХреЛ рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдЫрд╡рд┐ рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлреЛрдЯреЛ рдРрдк рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХрд┐ xaml рддрддреНрд╡ рдХрднреА рднреА рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рд╡реНрдпреВрдкреЛрд░реНрдЯ рд╕реЗ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

@ рд▓реНрд╣рд╛рдХ , рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рджреГрд╢реНрдп! рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдХреИрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдЬрд╝реЛрд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо ContentOrientation рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд▓реНрдк:

  • рдХреЛрдИ рдирд╣реАрдВ = рдХреЛрдИ рдкрд╕рдВрджреАрджрд╛ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВред рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЕрдирдВрдд рдЙрдкрд▓рдмреНрдз рдЖрдХрд╛рд░ рджреЗрдВред
  • рдХреНрд╖реИрддрд┐рдЬ = рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдирдВрдд рдЙрдкрд▓рдмреНрдз рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рджреЗрдВ рдФрд░ рд▓реЗрдЖрдЙрдЯ рдХреЗ рджреМрд░рд╛рди рд╡реНрдпреВрдкреЛрд░реНрдЯ рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВред
  • рд▓рдВрдмрд╡рдд = рдХреНрд╖реИрддрд┐рдЬ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг

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

<ScrollViewer ContentOrientation="Viewport">
  <Image Stretch="Uniform" .../>
</ScrollViewer>

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

<ScrollViewer ContentOrientation="Viewport">
  <Viewbox>
    <TheXamlElement Width=X Height=Y/>
  </Viewbox>
</ScrollViewer>

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

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

рдпрджрд┐ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк IgnoredInputKind="Mousewheel" рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдпрд╛ рддреЛ рд╕реНрдХреНрд░реЙрд▓рд░ рдХреЛ рдЙрдк-рд╡рд░реНрдЧреАрдХрд░рдг рдХрд░рдХреЗ OnPointerWheelChanged рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕реНрдХреНрд░реЛрд▓рд░ рдкрд░ рдкреЙрдЗрдВрдЯрд░рд╡реНрд╣реАрд▓ рдЪреЗрдВрдЬ рдХрд┐рдП рдЧрдП рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

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

@adrientetar , рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред рд╣рдо рдЗрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрд░ рдЬреЛ рд╡реГрджреНрдзрд┐ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдХреЛ рдЕрддрд┐рд░реЗрдХ рдЧреБрдгреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

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

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

рддреЛ рд╡рд░реНрддрдорд╛рди рдЬрд╝реВрдорд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ? рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреАрдЫреЗ рдХреА рдУрд░-рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ cc @likuba

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

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

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж !

рд╣рд╛рдп @stefangavrilasengage , рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рджреГрд╢реНрдпред :) рдЖрдкрдХреЗ PoC рд╕реЗ, рдЬрдм рдПрдХ рдЗрдВрдХрдХреИрдирд╡рд╛рд╕ рдкрд░ рдПрдХ рдЙрдВрдЧрд▓реА рдиреАрдЪреЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рдлрд┐рд░ рд╣рд┐рд▓рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдпрд╛ рдкреИрди рдХрд░рддрд╛ рд╣реИ?

рд╣рд╛рдп рд╡рд╣рд╛рдБ @micahl - рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рддрдХ рдЖрдкрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рд╡реНрд╣рд╛рдЗрдЯрдмреЛрд░реНрдбрд┐рдВрдЧ рдРрдк рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИред
рдЕрдм рдореИрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:

  • рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ): рдПрдХ рдЗрдВрдХрдХреИрдирд╡рд╛рд╕ рдкрд░ рдПрдХ рдЙрдВрдЧрд▓реА рдЦреАрдВрдЪрдирд╛ рдареАрдХ рд╣реИред рджреВрд╕рд░реА рдЙрдВрдЧрд▓реА рдкрд╣рд▓реА рдЗрдВрдХрдХреИрдирд╡рд╛рд╕ рдХреЛ рдЗрдирдкреБрдЯ рдЦреЛ рджреЗрддреА рд╣реИред
  • рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░рдПрдХреНрд╕ (рдХрд╕реНрдЯрдо рдирд┐рдпрдВрддреНрд░рдг): рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдФрд░ рдХрдИ рдЗрдВрдХ рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ? :)
рд╢реБрдХреНрд░рд┐рдпрд╛ !

@stefangavrilasengage рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд╕реНрдкрд░реНрд╢ рдЗрд╢рд╛рд░рд╛ рдкреИрди (рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░) рдпрд╛ рд╕реНрдпрд╛рд╣реА рдЦреАрдВрдЪрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд╣рд╛рдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрдШрд░реНрд╖ рд╣реИред рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ? рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рддрд░рд╣ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЕрдВрдЧреБрд▓рд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ/рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ? рдЖрджрд┐...

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

рдзрдиреНрдпрд╡рд╛рдж !

рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдХрд┐ @micahl рдФрд░ рдореИрдВ рдПрдХ

рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдХрд┐ @micahl рдФрд░ рдореИрдВ рдПрдХ

рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ ! рд╕рдВрдкрд╛рджрд┐рдд!

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

@stefangavrilasengage , рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп/рдЬрд╛рдВрдЪ рд▓рдЧреЗрдЧрд╛ред рдЖрдЗрдП рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВрдЧреЗ?

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

рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @adrientetar! рдЖрдЗрдП рдЗрд╕ рд╕реВрддреНрд░ рдХреЛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд░рдЦреЗрдВред рдЖрдк рдЬреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдЙрд╕ рдЪрд░реНрдЪрд╛ рдкрд░ рдХрд╣рд╛рдВ рд╕реЗ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред

@micahl рдХреНрдпреЛрдВ ExtentChanged/StateChanged/ViewChanged рдИрд╡реЗрдВрдЯ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЙрдирдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП StateChangedEventArgs рд░рд╛рдЬреНрдп рдХреЗ рд╕рджрд╕реНрдп рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИ? рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдХреНрдпрд╛ рд╕рдВрджреЗрд╢ рдкрд╛рд╕рд┐рдВрдЧ рдкреИрдЯрд░реНрди (рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛) рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

https://github.com/XeorgeXeorge/Extended-Image-Viewer

рдмрд╣реБрдд рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд░реЗрдкреЛ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд╖реИрддрд┐рдЬ/рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд▓реЙрдХ (рдЕрдХреНрд╖рдо) рд╣реЛрдиреЗ рдкрд░ рднреА рдЬрд╝реВрдорд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП,

рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ:
рдЬрд╝реВрдо рдЗрди рд╕рд╛рдордЧреНрд░реА рдкрд░ рдкреИрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрднреА рднреА to . рдХреЛ рдлрд╝рд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рднрд╛рд╡реА рд▓рдВрдмрд╡рдд/рдХреНрд╖реИрддрд┐рдЬ рд╡реНрдпреВрдкреЛрд░реНрдЯред

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

@micahl рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЧреИрд░-рдПрдирд┐рдореЗрдЯреЗрдб рдЬрд╝реВрдо рдХрд░рддреЗ рд╕рдордп рд╕реНрдХреНрд░реЙрд▓рд░ рд╕реНрдЯреЗрдЯ рдЪреЗрдВрдЬреЗрдб рдИрд╡реЗрдВрдЯ рдирд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИ?
рдЬрдм рд╕реНрдХреНрд░реЙрд▓рд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдирд╛ рдХреИрдирд╡рд╛рд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдХрдВрдЯреНрд░реЛрд▓ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ https://github.com/microsoft/microsoft-ui-xaml/issues/541#issuecomment -488749469 рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рдмрд╣реБрдд рдмрдбрд╝реЗ рд░реИрд╕реНрдЯрд░рд╛рдЗрдЬрд╝рд┐рдВрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╝реВрдо рдлрд╝реИрдХреНрдЯрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреИрдирд╡рд╛рд╕ рдХреЗ рднрд╛рдЧред рд▓реЗрдХрд┐рди рдПрдХ рдЧреИрд░-рдПрдирд┐рдореЗрдЯреЗрдб рдЬрд╝реВрдо рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬрдм рдореИрдВ рдЬрд╝реВрдордЯреЛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рднрд▓реЗ рд╣реА рдЬрд╝реВрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ (afaact)ред

@adrientetar , рдврд╛рдВрдЪреЗ рдФрд░ рдРрдк рдХреЗ рдмреАрдЪ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ

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

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

рд╣рд╛рдВ, рд╡рд░реНрддрдорд╛рди рдбрд┐рдЬрд╛рдЗрди рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЧреИрд░-рдПрдирд┐рдореЗрдЯреЗрдб рдЬрд╝реВрдо рдореЗрдВ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ StateChanged рдЖрдЧ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИред

рдЖрд╣ рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдм рд╕рдордЭрддрд╛ рд╣реВрдБред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдирд╛ рд╣рдореЗрд╢рд╛ рдЖрдЧ рд▓рдЧ рд╕рдХрддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдореВрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реЗрдЯрдлреЛрдХрд╕, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдУрд╡рд░рд╣реЗрдб рд╣реЛред

рдЬрд╝реВрдо рдкреВрд░реНрдг рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдкреВрд░реНрдг рдИрд╡реЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред IIRC рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ, рддреЛ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЬрд╝реВрдо рдкреВрд░реНрдг рдФрд░ рд╕реНрдЯреЗрдЯ рдЪреЗрдВрдЬреЗрдб iff State == Idle рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрдЬреАрдм рдирд╣реАрдВ рд╣реИ? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╣реЛрдирд╛ рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

@RBrid рдФрд░ рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рд░рд╛рдЬреНрдп "рд╕рдВрдХреНрд░рдордг" рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдорд╛рдореВрд▓реА рдирд╛рдо

рдЬрд┐рд╕ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╡рд╣ рдпрд╣ рдерд╛ рдХрд┐ рдЬрдм рд╕реНрдХреНрд░реЙрд▓/рдЬрд╝реВрдо рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ (рдЪрд╛рд╣реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╣реЛ) рддреЛ рд╣рдо StateChanged рдИрд╡реЗрдВрдЯ рдХреЛ рдмрдврд╝рд╛рдПрдВрдЧреЗ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рдирд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╕реНрдХреНрд░реЙрд▓ (рдПрдирд┐рдореЗрдЯреЗрдб рдФрд░ рдПрдирд┐рдореЗрдЯреЗрдб рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдо рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:

// рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдЕрдиреБрд░реЛрдз, рдПрдирд┐рдореЗрдЯреЗрдб
myScrollInfo = рд╕реНрдХреНрд░реЙрд▓рдЯреЛ (100, рдЪреЗрддрди = рд╕рддреНрдп);
// рдХреБрдЫ рдЯрд┐рдХ
StateChanged рдЙрдард╛рдпрд╛ рдЧрдпрд╛ (Scroller.State == Transitioning)
// рдХреБрдЫ рдЯрд┐рдХ
StateChanged рдЙрдард╛рдпрд╛ (Scroller.State == рдПрдирд┐рдореЗрдЯрд┐рдВрдЧ)
// рдХрдИ рдЯрд┐рдХ
StateChanged рдЙрдард╛рдпрд╛ (Scroller.State == Idling)

// рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдЕрдиреБрд░реЛрдз, рдХреЛрдИ рдПрдиреАрдореЗрд╢рди рдирд╣реАрдВ
myScrollInfo = рд╕реНрдХреНрд░реЙрд▓рдЯреЛ (100, рдЪреЗрддрди = рдЭреВрдард╛);
// рдХреБрдЫ рдЯрд┐рдХ
StateChanged рдЙрдард╛рдпрд╛ (Scroller.State == Transitioning)
// рдХреБрдЫ рдЯрд┐рдХ
StateChanged рдЙрдард╛рдпрд╛ (Scroller.State == Idling)

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

enum ScrollState
{
    Idling = 0,
    Transitioning = 1,
    Interacting = 2,
    Inertial = 3,
    Animating = 4,
};

@micahl рд╣рд╛рдБ, рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдБ! рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдХреЗрд╡рд▓ рдПрдирд┐рдореЗрдЯреЗрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╡рд╣ рдПрдирд┐рдореЗрдЯрд┐рдВрдЧ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИред рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдЗрдбрд▓ рдиреЙрдЯ рдЖрдЗрдбрд▓рд┐рдВрдЧ ("рд╕реНрдХреНрд░реЙрд▓рд░ рдЖрдЗрдбрд▓ рд╣реИ"/"рд╕реНрдХреНрд░реЙрд▓рд░ рдПрдирд┐рдореЗрдЯрд┐рдВрдЧ рд╣реИ"), рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рдирд┐рдВрдЧ тЖТ рд╕реНрдЯрд┐рд░рд┐рдВрдЧ? (рд╕рдВрдХреНрд░рдордг рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЧрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрдореЛ рд╕рд░рдЧрд░реНрдореА рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ), рдЬрдбрд╝рддреНрд╡реАрдп рдмрд╣рддреА рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдкреАрдЖрдИ рд╕рдореАрдХреНрд╖рд╛ рднреА рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреАред

рд╢реБрд░реВ рдореЗрдВ рд╣рд▓рдЪрд▓ рдиреЗ рдореБрдЭреЗ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред :) рдЬрдм рд╣рдо рдирд╛рдореЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдорд┐рд╕рд╛рд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдкреАрдЖрдИ рд╕рдореАрдХреНрд╖рд╛ рд╡рдЬрди рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧреАред рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЕрдЬреНрдЮрд╛рдд рдпрд╛ рд▓рдВрдмрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдбрд▓ рдХреЗ рд╕рд╛рде рдЙрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдПрдкреАрдЖрдИ рдореЗрдВ рдорд┐рд╕рд╛рд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рд╢рд╛рдпрдж рдЖрдЗрдбрд▓рд┐рдВрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдардВрдбрд╛ рдардВрдбрд╛ред рд▓рдВрдмрд┐рдд sgtm, imo рдЕрдЬреНрдЮрд╛рдд рд╕рдВрдХреНрд░рдордг рд╕реЗ рднреА рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

@micahl - рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдВрдЦреНрдпрд╛ 3 рдореЗрдВ рдпрд╣ рдмрд┐рдВрджреБ рд╢рд╛рдорд┐рд▓ рд╣реИ:

рдкреНрд░рднрд╛рд╡реА рд╡реНрдпреВрдкреЛрд░реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ (рдЬрд░реВрд░реА)

рд╡рд╣ рдЙрдк-рдмрд┐рдВрджреБ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдШрдЯрдирд╛ FrameworkElement.EffectiveViewportChanged рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╡рд╣ рдЙрдк - рдмрд┐рдВрджреБ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ) рдХрд┐

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

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

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

рдХреНрдпрд╛ рдЬреВрдорд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдирд┐рдпрдВрддреНрд░рдг (рдЬреИрд╕реЗ рдЬрд╝реВрдорд╡реНрдпреВрдЕрд░) рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рд╕рдЦреНрддреА рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛ?

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

  1. рд╢рд╛рдпрдж ZoomViewer рдирд╛рдордХ рдПрдХ рд╡рд░реНрдЧ рдЬреЛ ScrollViewer рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди ScrollViewer рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд▓ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ ControlTemplate )ред
  2. рд╢рд╛рдпрдж ZoomableScrollViewer рдирд╛рдо рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рдЬреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ ScrollViewer ред
  3. ScrollViewer рднреАрддрд░ рд╕реАрдзреЗ рдЬрд╝реВрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛, рдЕрдЧрд░ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдпрд╛ рдЧрдиреНрджрд╛ рдирд╣реАрдВ рд╣реИред

17 рдорд╛рдЙрд╕ рдордзреНрдп рдХреНрд▓рд┐рдХ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдПрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред (рдЪрд╛рд╣рд┐рдП)
18 рдорд╛рдЙрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдФрд░ рдкреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рд╡реНрдпреВрдЕрд░ рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдордЧреНрд░реА рд▓реЗ рдЬрд╛рдирд╛)ред (рдЪрд╛рд╣рд┐рдП)

рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ 17 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ 18 17 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ 17 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 17 рдХрд╛ рдЕрд░реНрде рдЖрдкрдХреЗ рдЗрдЪреНрдЫрд┐рдд рдЕрд░реНрде рд╕реЗ рдХреБрдЫ рдФрд░ рд╣реИ (17 рдХрд╛ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╡рд╛рдХреНрдп рд╣реИ рдФрд░ рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рдХреНрдпрд╛ рдпрд╣ рдХрд╣рдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдХрд┐ 18 рдмрд╣реБрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдЬрдмрдХрд┐ 17 рдПрдХ рдЕрдЬреАрдм рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рд╕рдВрдШрд░реНрд╖ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддрд╛ рд╣реИ?
(рдкрд╣реБрдВрдЪ-рдпреЛрдЧреНрдпрддрд╛ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП 17 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдореИрдВрдиреЗ рдХрднреА рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдХрд╣рддреЗ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ рдХрд┐ 17 рдПрдХ рдкрд╣реБрдВрдЪ-рдпреЛрдЧреНрдпрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред)

4 рдЗрдирдкреБрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдПрдирд┐рдореЗрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо

рдирдВрдмрд░ 4 рдПрдХ рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджрд╛ рд╣реИред рдореИрдВ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ (рдФрд░ WinUI рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг) рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВ:

рд╡рд┐рдВрдбреЛрдЬ 10 -> рд╕реНрдЯрд╛рд░реНрдЯ -> рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА -> рдбрд┐рд╕реНрдкреНрд▓реЗ -> рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдПрдирд┐рдореЗрд╢рди рджрд┐рдЦрд╛рдПрдВ (рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж)ред

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

рд╣рд╛рдп @verelpode , @predavid рдирдП рдЪрд▓рд╛рдПрдЧрд╛ , рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрд╕реЗ рдЯрд╛рд▓ рджреВрдВрдЧрд╛ред

17 рдорд╛рдЙрд╕ рдордзреНрдп рдХреНрд▓рд┐рдХ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдПрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред (рдЪрд╛рд╣рд┐рдП)
18 рдорд╛рдЙрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдФрд░ рдкреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рд╡реНрдпреВрдЕрд░ рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдордЧреНрд░реА рд▓реЗ рдЬрд╛рдирд╛)ред (рдЪрд╛рд╣рд┐рдП)

рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ 17 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ 18 17 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ 17 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 17 рдХрд╛ рдЕрд░реНрде рдЖрдкрдХреЗ рдЗрдЪреНрдЫрд┐рдд рдЕрд░реНрде рд╕реЗ рдХреБрдЫ рдФрд░ рд╣реИ (17 рдХрд╛ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╡рд╛рдХреНрдп рд╣реИ рдФрд░ рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рдХреНрдпрд╛ рдпрд╣ рдХрд╣рдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдХрд┐ 18 рдмрд╣реБрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдЬрдмрдХрд┐ 17 рдПрдХ рдЕрдЬреАрдм рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рд╕рдВрдШрд░реНрд╖ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддрд╛ рд╣реИ?
(рдкрд╣реБрдВрдЪ-рдпреЛрдЧреНрдпрддрд╛ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП 17 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдореИрдВрдиреЗ рдХрднреА рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдХрд╣рддреЗ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ рдХрд┐ 17 рдПрдХ рдкрд╣реБрдВрдЪ-рдпреЛрдЧреНрдпрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред)

@verelpode рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 17 рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ 18 рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ 17 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ "рдмрд╛рдПрдВ рдХреНрд▓рд┐рдХ рдФрд░ рдбреНрд░реИрдЧ" рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЪрдпрди, рдпрд╛ рдбреНрд░реИрдЧ + рдбреНрд░реЙрдк . рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдРрдк рдордзреНрдп рдХреНрд▓рд┐рдХ (17) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХреЗред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдордзреНрдп рдХреНрд▓рд┐рдХ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдмрд╛рдПрдВ рдХреНрд▓рд┐рдХ + рдбреНрд░реИрдЧ рдпрд╛ рддреЛ рдЯреЗрдХреНрд╕реНрдЯ рдЪрдпрди рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдбреНрд░реИрдЧ + рдбреНрд░реЙрдк рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдПрдХ UWP рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ 18 рдЕрдХреНрд╖рдо рдФрд░ 17 рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рджреЛрдиреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдкреНрдЯ-рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@lukasf

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдордзреНрдп рдХреНрд▓рд┐рдХ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдмрд╛рдПрдВ рдХреНрд▓рд┐рдХ + рдбреНрд░реИрдЧ рдпрд╛ рддреЛ рдЯреЗрдХреНрд╕реНрдЯ рдЪрдпрди рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдбреНрд░реИрдЧ + рдбреНрд░реЙрдк рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдкрд╛рда рдЪрдпрди рдЖрджрд┐ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдЖрдк рдЗрд╕ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ: рдЕрдЬреАрдм 17 рдореЛрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдорд╛рдЙрд╕-рдЖрдзрд╛рд░рд┐рдд рдкреИрдирд┐рдВрдЧ рдореЛрдб (18) рдХреЛ рдордзреНрдп-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

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

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

@verelpode
рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (Word, Adobe Reader, Outlook,...) рд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЛрдб 17 рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЕрдЬреАрдм рдкрд╛рддреЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдмреЗрд╢рдХ рджреЛрдиреЛрдВ рдореЛрдб рдСрдкреНрдЯ-рдЗрди рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рджреЗрд╡ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдРрдк рдореЗрдВ рдХреНрдпрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЗ рд╕реНрдкреЗрд╕рдмрд╛рд░ + рдХреНрд▓рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рднреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдРрдк рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ: рд╕реНрдкреЗрд╕рдмрд╛рд░ рдбрд╛рдЙрди рдкрд░ рдореЛрдб 18 рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдЗрд╕реЗ рд╕реНрдкреЗрд╕рдмрд╛рд░ рдЕрдк рдкрд░ рдлрд┐рд░ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред

@lukasf - рдареАрдХ рд╣реИ, рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдкреИрдирд┐рдВрдЧ рдореЛрдб (18) рдЯреЗрдХреНрд╕реНрдЯ рдЪрдпрди рдпрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдбреНрд░реИрдЧ + рдбреНрд░реЙрдк рдЖрджрд┐ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдореЛрдб 17 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ 18 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреА рд╡рд░реАрдпрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрдиреЛрдВ рдореЛрдб рдХреЗ рд▓рд┐рдП рд╣реИ рд╕рдорд░реНрдерд┐рдд рд╣реЛред

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @verelpode рдФрд░ @lukasf , рдореИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рдЦреЛрдЬреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ https://github.com/microsoft/microsoft-ui-xaml/pull/1472 рднреЗрдЬрд╛ рд╣реИред рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЖрдЬ рдХреЗ рд╕реНрдХреНрд░реЛрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ 17 рдФрд░ 18 рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдХрд┐рддрдиреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВред

18 = рдорд╛рдЙрд╕-рдЖрдзрд╛рд░рд┐рдд рдкреИрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд▓реА рдЧрдИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдорд╛рдзрд╛рди 100% рдпреВрдЖрдИ-рдереНрд░реЗрдб-рдмрд╛рдЙрдВрдб рд╣реИ, рд╕реНрдкрд░реНрд╢-рдЖрдзрд╛рд░рд┐рдд рдпрд╛ рдорд╛рдЙрд╕-рд╡реНрд╣реАрд▓-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрднрд╡реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрддред рдореИрдВрдиреЗ рдорд╛рдЙрд╕ рдХреЗ рдкреЙрдЗрдВрдЯрд░рдореЛрд╡ рдХрд┐рдП рдЧрдП рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реБрдирддреЗ рд╕рдордп рд╕реНрдХреНрд░реЙрд▓рдЯреЛ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдВрддрдд: рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЗрдВрдЯрд░реЗрдХреНрд╢рдирдЯреНрд░реИрдХрд░ рдШрдЯрдХ рдорд╛рдЙрд╕ рдЪрд╛рд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдЙрдВрдЧрд▓реА рдХреА рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИред

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

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

@рдЖрд░рдмреАрдЖрд░рдЖрдИрдбреА

18=рдорд╛рдЙрд╕-рдЖрдзрд╛рд░рд┐рдд рдкреИрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд░рд╣реАрдВ, тАжтАж
17 = рдорд╛рдЙрд╕-рдЖрдзрд╛рд░рд┐рдд рдирд┐рд░рдВрддрд░-рд╡реЗрдЧ-рдкреИрдирд┐рдВрдЧ (рдПрдХ рдРрд╕рд╛ рдЕрдиреБрднрд╡ рдЬрд┐рд╕реЗ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ) рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдХрдард┐рди рд╣реИрдВред

рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо! рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 17 = рдирд┐рд░рдВрддрд░-рд╡реЗрдЧ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛, рдФрд░ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ 18 рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмрд╛рдПрдВ-рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╢рд╛рдпрдж рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП 17 рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп 18 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ 17 = рдирд┐рд░рдВрддрд░-рд╡реЗрдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдХрд┐рддрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗред

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

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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирдП рд╕реНрдХреНрд░реЙрд▓рд╡реНрдпреВрдЕрд░ рдореЗрдВ "Ctrl" рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдЬрд╝реВрдо рдХреЛ рдЕрдХреНрд╖рдо рдпрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

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

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

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

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

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

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

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