Xamarin.forms: [рдХрд▓реНрдкрдирд╛] TabView

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдордИ 2020  ┬╖  24рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: xamarin/Xamarin.Forms

рдЯреИрдм рд╡реНрдпреВ

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

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

tabview

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

рдПрдкреАрдЖрдИ

рдЗрд╕рдХреЗ рдмрд╛рдж, TabView рдЧреБрдгреЛрдВ, рдШрдЯрдирд╛рдУрдВ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╕реНрдЯреЗрдЯреНрд╕ рд╡рд╛рд▓реА рдПрдХ рд╕реВрдЪреАред

рдЧреБрдг

TabView рдЧреБрдг

| рд╕рдВрдкрддреНрддрд┐ | рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|:----------------:|
| TabItemsSource | рдЖрдИрдиреЗрдорд░реЗрдмрд▓ | TabView рдХреЗ рдЯреИрдм рдЖрдЗрдЯрдо рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрдЧреНрд░рд╣ред |
| TabViewItemDataTemplate | рдбреЗрдЯрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ | рдЯреИрдм рдЖрдЗрдЯрдо рдХрд╛ рд╣реЗрдбрд░ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдм рд╡реНрдпреВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯред |
| TabContentDataTemplate | рдбреЗрдЯрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ | рдЯреИрдм рдЖрдЗрдЯрдо рдХреА рд╕рд╛рдордЧреНрд░реА рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдм рд╡реНрдпреВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред |
| рдЗрд╕рдЪрдХреНрд░реАрдп | рдмреВрд▓ | рдЪрдХреНрд░реАрдп рдЯреИрдм рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред |
| рдЗрд╕рд▓рд╛рдЬрд╝реА | рдмреВрд▓ | рдЖрд▓рд╕реА рдЯреИрдм рд▓реЛрдб рдХрд░рдирд╛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред |
| рдЪрдпрдирд┐рдд рдЗрдВрдбреЗрдХреНрд╕ | рдЗрдВрдЯ | рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрдпрдирд┐рдд рдЯреИрдм рдХреЛ рдкреНрд░рд╛рдкреНрдд рдпрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 0 рд╣реИред |
| рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдк рдкреНрд▓реЗрд╕рдореЗрдВрдЯ | рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдк рдкреНрд▓реЗрд╕рдореЗрдВрдЯ | TabStrip рдкреНрд▓реЗрд╕рдореЗрдВрдЯ (рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ)ред |
| рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдкрдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб | рдмреНрд░рд╢ | рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдк рдкреГрд╖реНрдарднреВрдорд┐ред |
| TabIndicatorBrush | рдмреНрд░рд╢ | TabIndicator рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдбред |
| TabIndicatorHeight | рдбрдмрд▓ | TabIndicator рдКрдВрдЪрд╛рдИред |
| TabIndicatorWidth | рдбрдмрд▓ | TabIndicator рдЪреМрдбрд╝рд╛рдИред |
| TabIndicatorPlacement | TabIndicatorPlacement | |
| TabIndicatorView | рджреЗрдЦреЗрдВ | TabIndicator рд╕рд╛рдордЧреНрд░реАред |
| TabContentBackground | рдмреНрд░рд╢ | рдЯреИрдм рд╕рд╛рдордЧреНрд░реА рдкреГрд╖реНрдарднреВрдорд┐ред |
| TabContentHeight | рдбрдмрд▓ | рдЯреИрдм рд╕рд╛рдордЧреНрд░реА рдКрдВрдЪрд╛рдИред |
| рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдкрд╣рд╛рдЗрдЯ | рдбрдмрд▓ | рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдк рдКрдВрдЪрд╛рдИред |
| TabContentHeight | рдбрдмрд▓ | рдЯреИрдм рд╕рд╛рдордЧреНрд░реА рдКрдВрдЪрд╛рдИред |
| HasTabStripрдЫрд╛рдпрд╛ | рдмреВрд▓ | TabStrip рдЫрд╛рдпрд╛ рдкреНрд░рднрд╛рд╡ рджрд┐рдЦрд╛рдПрдБ рдпрд╛ рдЫрд┐рдкрд╛рдПрдБред |
| IsTabTransitionEnabled | рдмреВрд▓ | рдЯреИрдм рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред |
| IsSwipeEnabled | рдмреВрд▓ | рд╕реНрд╡рд╛рдЗрдк рдЬреЗрд╕реНрдЪрд░ рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред |

TabViewItem рдЧреБрдг

| рд╕рдВрдкрддреНрддрд┐ | рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|:----------------:|
| рдкрд╛рда | рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдЯреИрдм рдХрд╛ рдкрд╛рдаред |
| рдЯреЗрдХреНрд╕реНрдЯ рдХрд▓рд░ | рд░рдВрдЧ | рдЯреИрдм рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рд░рдВрдЧред |
| рдкрд╛рда рд░рдВрдЧ рдЪрдпрдирд┐рдд | рд░рдВрдЧ | рдЪрдпрдирд┐рдд рдЯреИрдм рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рд░рдВрдЧред |
| рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ | рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ | рдЯреИрдм рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ред |
| FontSizeSelected | рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ | рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ред |
| FontFamily | рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░ред |
| FontFamilySelected | рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░ред |
| FontAttributes | FontAttributes | рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред |
| FontAttributesрдЪрдпрдирд┐рдд | FontAttributes | рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдлрд╝реЙрдиреНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред |
| рдЪрд┐рд╣реНрди | рдЫрд╡рд┐ рд╕реНрд░реЛрдд | рдЯреИрдм рдХрд╛ рдЪрд┐рд╣реНрдиред |
| рдЪрд┐рд╣реНрди рдЪрдпрдирд┐рдд | рдЫрд╡рд┐ рд╕реНрд░реЛрдд | рдЫрд╡рд┐ рд╕реНрд░реЛрдд рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдЖрдЗрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
| рд╕рд╛рдордЧреНрд░реА | рджреЗрдЦреЗрдВ | рдЯреИрдм рдХреА рд╕рд╛рдордЧреНрд░реАред рджреГрд╢реНрдп рд╣реИ, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
| рдмреИрдЬ рдЯреЗрдХреНрд╕реНрдЯ | рдмреВрд▓ | рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмреИрдЬ рдЯреЗрдХреНрд╕реНрдЯред |
| рдмреИрдЬ рдЯреЗрдХреНрд╕реНрдЯ рдХрд▓рд░ | рд░рдВрдЧ | рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмреИрдЬ рдЯреЗрдХреНрд╕реНрдЯ рд░рдВрдЧред |
| BadgeTextColorрдЪрдпрдирд┐рдд | рд░рдВрдЧ | рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмреИрдЬ рдЯреЗрдХреНрд╕реНрдЯ рд░рдВрдЧред |
| рдмреИрдЬрдмреИрдХрдЧреНрд░рд╛рдЙрдВрдбрдХрд▓рд░ | рд░рдВрдЧ | рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмреИрдЬ рд░рдВрдЧред |
| BadgeBackgroundColorSelected | рд░рдВрдЧ | рдЪрдпрдирд┐рдд рдЯреИрдм рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмреИрдЬ рд░рдВрдЧред |
| рдЪрдпрдирд┐рдд рд╣реИ | рдмреВрд▓ | рдПрдХ рдмреВрд▓ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЯреИрдм рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред |
| TapCommand | рдЖрдИрдХрдорд╛рдВрдб | рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдЯреИрдм рдХреЛ рдЯреИрдк рдХрд░рддрд╛ рд╣реИ рддреЛ рд╡рд╣ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред |
| TapCommandParameter | рд╡рд╕реНрддреБ | рдЯреИрдк рдХрдорд╛рдВрдб рдкреИрд░рд╛рдореАрдЯрд░ред |

рдЖрдпреЛрдЬрди

TabView рдШрдЯрдирд╛рдПрдБ

| рдШрдЯрдирд╛ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|
| рдЪрдпрди рдмрджрд▓ рдЧрдпрд╛ | рдЗрд╡реЗрдВрдЯ рдЬреЛ рддрдм рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЪрдпрдирд┐рдд рдЯреИрдм рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред |
| рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ | рдЯреИрдм рдХреЗ рдмреАрдЪ рд╕реНрд╡рд╛рдЗрдк рдХрд░рдиреЗ рдкрд░ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдЗрд╡реЗрдВрдЯред |

TabViewItem рдИрд╡реЗрдВрдЯреНрд╕

| рдШрдЯрдирд╛ | рд╡рд┐рд╡рд░рдг |
|----------|:----------------:|
| рдЯреИрдмрдЯреИрдк | рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдЯреИрдм рдХреЛ рдЯреИрдк рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╡реЗрдВрдЯ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |

рд╡рд┐рдЬреБрдЕрд▓рд╕реНрдЯреЗрдЯреНрд╕

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

TabView рдореЗрдВ рдЪрд╛рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ VisualStates рд╣реИрдВ:

  • рдХрд░рдВрдЯрдЯреИрдмрд╡рд┐рдЬреБрдЕрд▓рд╕реНрдЯреЗрдЯ
  • рдЕрдЧрд▓рд╛рдЯреИрдмрд╡рд┐рдЬреБрдЕрд▓рд╕реНрдЯреЗрдЯ
  • рдкрд┐рдЫрд▓рд╛рдЯреИрдмрд╡рд┐рдЬрд╝реБрдЕрд▓рд╕реНрдЯреЗрдЯ
  • DefaultTabVisualState

рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ

рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдирдореВрдиреЗ рджреЗрдЦреЗрдВред

рдореВрд▓ рдЯреИрдм

рдЖрдЗрдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

<TabView 
    TabStripPlacement="Bottom"
    TabStripBackgroundColor="Blue">
    <TabViewItem
        Icon="triangle.png"
        Text="Tab 1">
        <Grid 
            BackgroundColor="Gray">
            <Label
                HorizontalOptions="Center"
                VerticalOptions="Center"
                Text="TabContent1" />
        </Grid>
    </TabViewItem>
    <TabViewItem
        Icon="circle.png"
        Text="Tab 2">
        <Grid>
            <Label    
                HorizontalOptions="Center"
                VerticalOptions="Center"
                Text="TabContent2" />
        </Grid>
    </TabViewItem>
</TabView>

basic-tabs

TabItemsSource

TabItemsSource (рдЧрддрд┐рд╢реАрд▓ рдЯреИрдм) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

<TabView
    TabItemsSource="{Binding Monkeys}"
    TabViewItemDataTemplate="{StaticResource TabViewItemTemplate}"
    TabContentDataTemplate="{StaticResource TabContentTemplate}" />

tabitemssource

рдХрд╕реНрдЯрдо рдЯреИрдм

рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдм рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

<ControlTemplate
    x:Key="TabItemTemplate">
    <Grid>
    ...
    </Grid>
</ControlTemplate>

<TabView>
    <TabViewItem
        Text="Tab 1"
        ControlTemplate="{StaticResource TabItemTemplate}">
    </TabViewItem>
</TabView>

custom-tabs

рдЪрдХреНрд░реАрдп рдЯреИрдм

рдХреНрдпрд╛ рдЖрдк рдЯреИрдм рдХреЗ рдмреАрдЪ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

<TabView
    IsCyclical="True">
    ...
</TabView>

iscyclical

рдзреАрд░реЗ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ

рдЖрд▓рд╕реА рдЯреИрдм рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ:

<TabView
    IsLazy="True">
    ...
</TabView>

lazy-tabs

рдЯреИрдм рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рдФрд░ TabViewItem рдПрдирд┐рдореЗрд╢рди

рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдм рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Xamarin.Forms рдПрдирд┐рдореЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдпрд╛ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдкрд░ рдЯреИрдм рдХреЛ рдЪреЗрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреИрдЬ рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдпрд╛ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдкрд░ рднреА рдЪреЗрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

<TabView>
    <TabView.TabTransition>
        <local:CustomTabTransition />
    </TabView.TabTransition>
    <TabViewItem
        Text="Tab 1">      
            <TabViewItem.TabAnimation>
                <local:CustomTabViewItemAnimation />
            </TabViewItem.TabAnimation>
        <Grid 
            BackgroundColor="LawnGreen">
            <Label
                HorizontalOptions="Center"
                VerticalOptions="Center"
                Text="TabContent1" />
        </Grid>
    </TabViewItem>
    ...
</TabView>

custom-tabs-animation

рд╡рд┐рдЬреБрдЕрд▓рд╕реНрдЯреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

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

<Grid>
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="TabViewStates">
            <VisualState x:Name="CurrentTab">
                <VisualState.Setters>
                    <Setter Property="Opacity" Value="1" />
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="PreviousTab">
                <VisualState.Setters>
                    <Setter Property="Opacity" Value="0.7" />
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="NextTab">
                <VisualState.Setters>
                    <Setter Property="Opacity" Value="0.7" />
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="DefaultTab">
                <VisualState.Setters>
                    <Setter Property="Opacity" Value="0.9" />
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    <Label Text="{Binding Index}" HorizontalOptions="Center" VerticalOptions="End" />
</Grid>

C . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреИрдм рдмрдирд╛рдПрдВ

Xamarin.Forms рдореЗрдВ UI рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк XAML рдпрд╛ C# рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо C# рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдЯреИрдм рдмрдирд╛рдПрдВрдЧреЗред

var tabView = new Tabs
{
    TabStripPlacement = TabStripPlacement.Bottom,
    TabStripBackgroundColor = Color.Blue,
    TabStripHeight = 60,
    TabIndicatorColor = Color.Yellow,
    TabContentBackgroundColor = Color.Yellow
};

var tabViewItem1 = new TabViewItem
{
    Icon = "triangle.png",
    Text = "Tab 1",
    TextColor = Color.White,
    TextColorSelected = Color.Yellow,
};

var tabViewItem1Content = new Grid
{
    BackgroundColor = Color.Gray
};

var label1 = new Label
{
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.Center,
    Text = "TabContent1"
};

tabViewItem1Content.Children.Add(label1);

tabViewItem1.Content = tabViewItem1Content;

tabView.TabItems.Add(tabViewItem1);

var tabViewItem2 = new TabViewItem
{
    Icon = "circle.png",
    Text = "Tab 2",
    TextColor = Color.White,
    TextColorSelected = Color.Yellow
};

var tabViewItem2Content = new Grid
{
    BackgroundColor = Color.OrangeRed
};

var label2 = new Label
{
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.Center,
    Text = "TabContent2"
};

tabViewItem2Content.Children.Add(label2);

tabViewItem2.Content = tabViewItem2Content;

tabView.TabItems.Add(tabViewItem2);

рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

XAML рд╢реИрд▓рд┐рдпреЛрдВ рдпрд╛ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреИрдм рд╕рд╛рдордЧреНрд░реА, рдЯреИрдм рдкрдЯреНрдЯреА, рдЯреИрдм рдЖрдЗрдЯрдо рдЖрджрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

<Style
    x:Key="TabItemStyle"
    TargetType="TabViewItem">
    <Setter
        Property="FontSize"
        Value="12" />
    <Setter
        Property="TextColor"
        Value="#979797" />
</Style>

рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

.customTabItem {
    font-size: medium;
    text-color: red;
}

рдХрдард┐рдирд╛рдИ: рдордзреНрдпрдо

high impact proposal-open roadmap enhancement тЮХ

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

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

ezgif com-optimize

рдЧреБрдг

TabView рдЧреБрдг (рдЕрддрд┐рд░рд┐рдХреНрдд)

рд╕рдВрдкрддреНрддрд┐ | рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг
--|--|--
рдХреЙрд░реНрдирд░рд░реЗрдбрд┐рдпрд╕ | рдлреНрд▓реЛрдЯ | рдЯреИрдм рджреГрд╢реНрдп рд╕реЗ рдХреЛрдиреЛрдВ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╣рд╛рдЗрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ | рдбрдмрд▓ | рдирд┐рдпрдВрддреНрд░рдг рдХреА рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╡рд┐рдбреНрде рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ | рдбрдмрд▓ | рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЪреМрдбрд╝рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

TabViewItem рдЧреБрдг (рдЕрддрд┐рд░рд┐рдХреНрдд)

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

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

рдмрд╣реБрдд рдЦреВрдм!

рд╕реБрдВрджрд░ рд╕рд╛рдорд╛рди

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!

"рдЯреИрдм рд╡реНрдпреВ" рдирд╛рдо рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреНрд░рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╡рд╣ рджрд┐рди рдЖрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ Xamarin.Forms/MAUI рдореЗрдВ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

ezgif com-optimize

рдЧреБрдг

TabView рдЧреБрдг (рдЕрддрд┐рд░рд┐рдХреНрдд)

рд╕рдВрдкрддреНрддрд┐ | рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг
--|--|--
рдХреЙрд░реНрдирд░рд░реЗрдбрд┐рдпрд╕ | рдлреНрд▓реЛрдЯ | рдЯреИрдм рджреГрд╢реНрдп рд╕реЗ рдХреЛрдиреЛрдВ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╣рд╛рдЗрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ | рдбрдмрд▓ | рдирд┐рдпрдВрддреНрд░рдг рдХреА рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╡рд┐рдбреНрде рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ | рдбрдмрд▓ | рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЪреМрдбрд╝рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

TabViewItem рдЧреБрдг (рдЕрддрд┐рд░рд┐рдХреНрдд)

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

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ!

@vhugogarcia рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк!

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА TabView рдХреЗ рдЖрдХрд╛рд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд╛рдордЧреНрд░реА рдпрд╛ TabStrip рдКрдВрдЪрд╛рдИ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЙрд░реНрдирд░рд░реЗрдбрд┐рдпрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдПрдордПрдирдПрди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯреИрдмрд╕реНрдЯреНрд░рд┐рдк рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд╣реИ рдирд╛?ред TabStripCornerRadius рдЬреИрд╕рд╛ рдХреБрдЫред

TabViewItem рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдк TabViewItem рдореЗрдВ Corner Radius рдХреЛ рдореИрдиреЗрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ CornerRadius рд╕рдВрдкрддреНрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдХреЛрдиреЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

рдлрд┐рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ IconPlacement рдФрд░ BadgeIcon рд╣реИред рджреЛрдиреЛрдВ рдореБрдЭреЗ рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░ рд▓рдЧрддреЗ рд╣реИрдВред

рдореИрдВ рд╕реНрдкреЗрдХ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╢реЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдпрд╣ рдПрдХ рд╕рд╛рде рд░рдЦреЗ рдЧрдП рдлреЙрд░реНрдо рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ

рдЬрд╣рд╛рдБ рднреА рдЖрдк рдПрдХ рджреГрд╢реНрдп рдЪрд┐рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :-)

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

@developer9969 рдХреГрдкрдпрд╛ рдкрд┐рдЫрд▓реА рджреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдФрд░ PureWeen рдХрд╛ рдЙрддреНрддрд░ рджреЗрдЦреЗрдВ

@ developer9969 рд╣рд╛рдВ, рдЖрдк рдЗрд╕реЗ рдмрд┐рдирд╛ рдЦреЛрд▓ рдХреЗ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЪреНрдЫрд╛, рдореИрдВ рдмрд╣реБрдд рд╕рдордп рд╕реЗ рдЗрд╕рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛редрдзрдиреНрдпрд╡рд╛рдж рдорд╣реЛрджрдп!

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ !!, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

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

@rscholey рд╣рд╛рдБ, рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

@jsuarezruiz рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ TabView рдХреЛ рд░реЛрдбрдореИрдк рд╕реЗ "рдХрдЯ" рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ MAUI рддрдХ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛? (AppBar рдХреЗ рд▓рд┐рдП рд╡рд╣реА рдкреНрд░рд╢реНрди)

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

рдЗрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рд╢реАрдШреНрд░ рд╣реА рд╢рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ XamarinCommunityToolkit рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣рд╛рдВ рдЕрдЪреНрдЫреА рдЧрддрд┐ рд╣реИ ( _insert рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рднрд░реНрддреА рдкрд┐рдЪ;)_) рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдВрдХреНрд░рдордгрдХрд╛рд▓реАрди рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

@jsuarezruiz рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдВ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ .NET MAUI рдкрд░ рд▓реЗ рдЬрд╛рдПрдВред рдРрдкрдмрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд╣реАред

@davidortinau рдХреНрдпрд╛ рд╣рдо рдЬрд▓реНрдж рд╣реА рдЕрдкрдбреЗрдЯреЗрдб рд░реЛрдбрдореИрдк рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл "рд╣реБрдб рдХреЗ рддрд╣рдд" рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдЯреАрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред

рдУрд╣ рдХреНрдпрд╛ рдмрдХрд╡рд╛рд╕ рд╣реИред :(
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред

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

рдХреНрдпрд╛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА https://github.com/xamarin/XamarinCommunityToolkit рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдореИрдВ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ред рдпрд╛ рдЕрднреА рддрдХ рдХреЛрдИ рдХреЛрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ?

рдХреНрдпрд╛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА https://github.com/xamarin/XamarinCommunityToolkit рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдореИрдВ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ред рдпрд╛ рдЕрднреА рддрдХ рдХреЛрдИ рдХреЛрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ?

https://github.com/jsuarezruiz/Xamarin.Forms.TabView рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ

@AswinPG рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдЧреЗрдЯ рдирд╣реАрдВ рд╣реИред рдЕрднреА рднреА рдХрд┐рд╕реА рдХреА рдЬрд░реВрд░рдд рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрддреНрдХрд╛рд▓ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ

@jsuarezruiz рдЖрдкрдХрд╛ рд░реЗрдкреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрднреА рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛?

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

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

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

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

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

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

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