боковоС мСню в xamarin forms

Flyout

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Flyout

Flyout позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ одностраничныС прилоТСния. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с использованиСм Flyout. Для упрощСния создания ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Visual Studio ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ шаблон. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Xamarin Forms ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ шаблон Flyout :

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Однако ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ этот Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° добавляСт мноТСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ создаСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΡƒΠΆΠ΅ довольно Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½ΠΎΠΉ структурой. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Flyout создадим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Blank :

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ использованиС Flyout доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… для Android ΠΈ iOS (для UWP нСдоступно), поэтому Π² ΠΎΠΊΠ½Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡƒΠΊΡ‚ для Windows(UWP) Π½Π΅ Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ структуру:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ MainPage.xaml ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

И Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ„Π°ΠΉΠ» MainPage.xaml.cs :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса MainPage ΠΈ Π² XAML, ΠΈ Π² C# прСдставляСт класс Shell.

НаполнСниС элСмСнтами

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Flyout:

Π”Π²Π° элСмСнта FlyoutItem ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Π²Π° ΠΏΡƒΠ½ΠΊΡ‚Π° Π² Π±ΠΎΠΊΠΎΠ²ΠΎΠΌ мСню:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ FlyoutItem Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π΄Π²Π° элСмСнта Tab, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ элСмСнтС Tab Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π΄Π²Π° элСмСнта ShellContent, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ. А ShellContent с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ContentPage собствСнно опрСдСляСт содСрТимоС.

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Shell ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько FlyoutItem. Один FlyoutItem ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Tab. А ΠΎΠ΄Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Tab ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ShellContent.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Xamarin.Forms

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, прСдоставляСмый ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Xamarin.Forms, основан Π½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠ½Π°Ρ… ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ…. Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ мСню для прилоТСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмым. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ ΠΎΡ‚ края экрана. Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт состоит ΠΈΠ· входящих Π² Π½Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»Π°:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню с двумя элСмСнтами:

Бвойство FlyoutItem.Title Ρ‚ΠΈΠΏΠ° string опрСдСляСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта. Бвойство FlyoutItem.Icon Ρ‚ΠΈΠΏΠ° ImageSource опрСдСляСт Π·Π½Π°Ρ‡ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ShellContent доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· элСмСнты Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»Π°Π΄ΠΊΠΈ: Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт содСрТит Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ отобраТСния Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Бвойство FlyoutItem.FlyoutDisplayOptions опрСдСляСт, ΠΊΠ°ΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт ΠΈ Π΅Π³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅. Π­Ρ‚ΠΎΠΌΡƒ свойству Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ присвоСн Ρ‡Π»Π΅Π½ пСрСчислСния FlyoutDisplayOptions :

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Tab Π² FlyoutItem ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ присвоСния свойству FlyoutItem.FlyoutDisplayOptions значСния AsMultipleItems :

ВсС это создаСт Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню:

[Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ внСшнСго Π²ΠΈΠ΄Π° FlyoutItem

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FlyoutItem ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, присвоив присоСдинСнному свойству Shell.ItemTemplate Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DataTemplate :

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FlyoutItem курсивом:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Shell.ItemTemplate являСтся присоСдинСнным свойством, для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² FlyoutItem ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для элСмСнтов FlyoutItem

Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС основы для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню, Π° Ρ‚Π°ΠΊΠΆΠ΅ для отобраТСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… состояний, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для элСмСнтов Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

Π—Π°ΠΌΠ΅Π½Π° содСрТимого Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ содСрТимоС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΏΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ собствСнным содСрТимым, Π·Π°Π΄Π°Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ object для привязываСмого свойства Shell.FlyoutContent :

Бвойство FlyoutItems Π² классС Shell β€” это доступная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния коллСкция элСмСнтов Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π·Π°Π΄Π°Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DataTemplate для привязываСмого свойства Shell.FlyoutContentTemplate :

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π°Π΄ содСрТимым Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, Π° Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню β€” ΠΏΠΎΠ΄ содСрТимым Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. Если содСрТимоС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ, Ρ‚ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° попытаСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ MenuItem ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ MenuItem Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню ΠΏΠΎΠ΄ всСми Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ внСшнСго Π²ΠΈΠ΄Π° MenuItem

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° MenuItem ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, присвоив присоСдинСнному свойству Shell.MenuItemTemplate Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DataTemplate :

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Shell.MenuItemTemplate являСтся присоСдинСнным свойством, для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² MenuItem ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Style FlyoutItem ΠΈ MenuItem

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅ XAML ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ опрСдСлСния стилСй для этих классов стилСй:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² FlyoutItem ΠΈ MenuItem ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ классы стилСй. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ классах стилСй см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠšΠ»Π°ΡΡΡ‹ стилСй Xamarin.Forms.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π’ΠΈΠΏ FlyoutHeader ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π³ΠΎ примСнСния ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π±ΡƒΠ΄Π΅Ρ‚ зафиксирован Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ элСмСнтС, хотя ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½ΠΈΠΆΠ΅ Π΅Π³ΠΎ содСрТимоС прокручиваСтся Π² Ρ‚ΠΎΠΌ случаС, Ссли элСмСнтов ΠΌΠ½ΠΎΠ³ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π·Π°Π΄Π°Π² Π² привязываСмом свойствС Shell.FlyoutHeaderBehavior ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² пСрСчислСния FlyoutHeaderBehavior :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ:

НиТний ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π’ΠΈΠΏ FlyoutFooter ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΈΠ΄ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· свойство Shell.FlyoutFooterTemplate для DataTemplate :

НиТний ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» фиксируСтся Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ высоту. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» мСню Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ скрываСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².

Π¨ΠΈΡ€ΠΈΠ½Π° ΠΈ высота Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π¨ΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, установив для присоСдинСнных свойств Shell.FlyoutWidth ΠΈ Shell.FlyoutHeight Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ double :

Π­Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ сцСнарии ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΏΠΎ всСму экрану ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ высоты Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π»ΠΎ панСль Π²ΠΊΠ»Π°Π΄ΠΎΠΊ.

Π—Π½Π°Ρ‡ΠΎΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прилоТСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΎΡΠ½Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΊΠΎΠΌ «Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€Π°», ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ открываСтся Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот Π·Π½Π°Ρ‡ΠΎΠΊ, присвоив привязываСмому свойству Shell.FlyoutIcon с Ρ‚ΠΈΠΏΠΎΠΌ ImageSource Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡ΠΊΡƒ:

Π€ΠΎΠ½ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта

Бвойство Shell.FlyoutBackgroundColor Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΠ· каскадной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй (CSS). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡΠΎΠ±Ρ‹Π΅ свойства ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Xamarin.Forms.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для Ρ„ΠΎΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта Π²Ρ‹Π±Ρ€Π°Π½ свСтло-сСрый Ρ†Π²Π΅Ρ‚ ( SolidColorBrush ).

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ для Ρ„ΠΎΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта Π·Π°Π΄Π°Π½ΠΎ LinearGradientBrush :

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ кистях см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠšΠΈΡΡ‚ΠΈ Xamarin.Forms.

Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отобраТаСтся ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π° всСми Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами, ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»ΠΎΠΌ. Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π·Π°Π΄Π°Π² для привязываСмого свойства FlyoutBackgroundImage Ρ‚ΠΈΠΏΠ° ImageSource Ρ„Π°ΠΉΠ», Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ рСсурс, URI ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ.

ΠŸΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΈ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, установив для привязываСмого свойства FlyoutBackgroundImageAspect Ρ‚ΠΈΠΏΠ° Aspect ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² пСрСчислСния Aspect :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ этих свойств:

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ элСмСнтС ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π€ΠΎΠ½ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта

Π€ΠΎΠ½ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта (внСшний Π²ΠΈΠ΄ налоТСния Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π·Π°Π΄Π°Π² для Shell.FlyoutBackdrop присоСдинСнноС свойство Brush :

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для Ρ„ΠΎΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта Π²Ρ‹Π±Ρ€Π°Π½ сСрСбряный Ρ†Π²Π΅Ρ‚ ( SolidColorBrush ).

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ для Ρ„ΠΎΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΡƒΠΊΠ°Π·Π°Π½Π° ΠΊΠΈΡΡ‚ΡŒ LinearGradientBrush :

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ кистях см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠšΠΈΡΡ‚ΠΈ Xamarin.Forms.

ПовСдСниС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню отобраТаСтся, Ссли Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€» ΠΈΠ»ΠΈ провСсти ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ ΠΎΡ‚ края экрана. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π² Π² присоСдинСнном свойствС Shell.FlyoutBehavior ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² пСрСчислСния FlyoutBehavior :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Ссли элСмСнты Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π½Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π·Π°Π΄Π°Π² Π² привязываСмом свойствС Shell.FlyoutVerticalScrollMode ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов пСрСчислСния ScrollMode :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ табуляции для FlyoutItem

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ табуляции для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² FlyoutItem соотвСтствуСт порядку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ пСрСчислСны Π² XAML ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΡŽΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎΡ‚ порядок опрСдСляСт порядок Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ элСмСнтам FlyoutItem с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ часто порядок ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ табуляции ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ свойства TabIndex :

Π’Ρ‹Π±ΠΎΡ€ FlyoutItem

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ShellContent с ΠΈΠΌΠ΅Π½Π΅ΠΌ aboutItem эквивалСнтный ΠΊΠΎΠ΄ Π½Π° C# выглядит Ρ‚Π°ΠΊ:

Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ FlyoutItem

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнты Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ. Однако элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скрыт Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню со свойством FlyoutItemIsVisible ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° со свойством IsVisible :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ скрытиС элСмСнта Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню:

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ способом

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Xamarin.Forms Shell

Π’ ΠΊΠΎΠ½Ρ†Π΅ мая Microsoft выпустила Π² Ρ€Π΅Π»ΠΈΠ· Xamarin.Forms Shell β€” ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΡƒΡŽ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ создания кроссплатформСнных ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»: Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню, Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, навигация, поиск.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с создания пустого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Xamarin.Forms Π² Visual Studio 2019. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Shell ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: iOS ΠΈ Android, UWP Π΅Ρ‰Π΅ Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ сразу ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС nuget ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ.

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π”Π°Π»Π΅Π΅ создадим ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ Shell класс AppShell, для этого Π² Π΄ΠΎΠ±Π°Π²ΠΈΠΌ XAML-Ρ„Π°ΠΉΠ» Π² ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

послС Ρ‡Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ App.xaml.cs ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π² качСствС MainPage Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ AppShell:

ΠΈ ΠΏΠ°Ρ€Ρƒ ContentPage страниц: Page1 ΠΈ Page2. Π’Π°ΠΊ ΠΆΠ΅ Π² нашСм тСстовом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ изобраТСния, поэтому Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΡ… Π² платформозависимыС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, для Π°Π½Π΄Ρ€ΠΎΠΉΠ΄ Π² ΠΏΠ°ΠΏΠΊΡƒ Resources=>drawable, Π° для ios Π² ΠΏΠ°ΠΏΠΊΡƒ Resources.

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π‘ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π‘ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню (часто Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€ мСню) прСдставляСт ΠΈΠ· сСбя Π²Ρ‹Π΅Π·ΠΆΠ°ΡŽΡ‰Π΅Π΅ мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ТСстом ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (Header), список страниц (Flyout Items) ΠΈ мСню (Flyout Menu)

Π’ΠΊΠ»Π°Π΄ΠΊΠΈ

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Xamarin.Forms Shell Π² качСствС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ шаблона ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это довольно просто. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ прСимущСством являСтся эффСктивная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° страниц, которая позволяСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ страницу Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π° Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρ‡Ρ‚ΠΎ сущСствСнно ускоряСт запуск прилоТСния.

Навигация

Xamarin.Forms прСдоставляСт ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ интСрфСйсу Π½Π° основС URI, позволяя ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π»ΡŽΠ±ΡƒΡŽ страницу Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π· соблюдСния строгой ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π·Π°Π΄ Π±Π΅Π· нСобходимости ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° всСх страниц Π² стСкС Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ навигация Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, страницу Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ XAML Π² FlyoutItem, Tab ΠΈ ShellContent с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Route

навигация осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° внСсСм измСнСния Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

Поиск

Xamarin.Forms Shell ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ поиска, прСдоставляСмыС классом SearchHandler. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ поиска Π½Π° страницу, ΠΌΡ‹ создадим класс PetSearchHandler ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ SearchHandler ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ OnQueryChanged ΠΈ OnItemSelected. ΠœΠ΅Ρ‚ΠΎΠ΄ OnQueryChanged срабатываСт ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ тСкста Π² поисковоС ΠΏΠΎΠ»Π΅ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: oldValue ΠΈ newValue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ поисковый запрос соотвСтствСнно.

ΠœΠ΅Ρ‚ΠΎΠ΄ SelectedItem выполняСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Animal.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создадим модСль Animal

Класс PetData ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π½Π°ΡˆΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… ΠΊΠΎΡˆΠ΅Ρ‡Π΅ΠΊ ΠΈ собачСк

Π”ΠΎΠ±Π°Π²ΠΈΠΌ страницу Pets Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Π΄ΠΈΠΌ наш PetSearchHandler

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ страница с поисковым ΠΏΠΎΠ»Π΅ΠΌ Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Π±Π°Ρ€Π΅, ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ поисковой Ρ„Ρ€Π°Π·Ρ‹ отобраТаСтся простой список ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠΈΡ‚ΠΎΠΌΡ†Π΅Π².

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ содСрТимоС ячСйки списка, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Ρ‚ΡƒΠ΄Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΈ нСсколько тСкстовых ΠΌΠ΅Ρ‚ΠΎΠΊ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Xamarin.Forms MenuItem

Xamarin.Forms MenuItem Класс опрСдСляСт ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню для мСню, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ListView ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹Π΅ мСню элСмСнтов ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню прилоТСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… снимках экрана ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ MenuItem ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ListView контСкстном мСню Π² iOS ΠΈ Android:

[! [«MenuItems on iOS and Android.»] (MenuItem-Images/menuitem-demo-cropped.png Β«MenuItems in iOS and AndroidΒ».](menuitem-images/menuitem-demo-full.png#lightbox «Π’сС MenuItems Π² iOS ΠΈ Android Full Image»)

Класс MenuItem опрСдСляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

Π­Ρ‚ΠΈ свойства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, BindableProperty поэтому MenuItem экзСмпляр ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ привязок Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСмСнта мСню

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ MenuItem Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляра Π² контСкстС ListView ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

MenuItem Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ повСдСния элСмСнта MenuItem с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ событий

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅:

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΡƒΠΊΠ°Π·Π°Π½ OnItemClicked ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ повСдСния MenuItem с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ MVVM

MenuItem Класс ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ шаблон Model-View-ViewModel (MVVM) Ρ‡Π΅Ρ€Π΅Π· BindableProperty ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ICommand интСрфСйс. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅ XAML ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ MenuItem экзСмпляры, привязанныС ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² ViewModel:

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄Π²Π° MenuItem ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с ΠΈΡ… Command свойствами ΠΈ, CommandParameter привязанными ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π² ViewModel. ViewModel содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹Π΅ Π² XAML:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ класс, DataService ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для получСния списка элСмСнтов для заполнСния ListView ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². БоздаСтся экзСмпляр ViewModel, элСмСнты DataService класса ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ BindingContext Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части:

Π—Π½Π°Ρ‡ΠΊΠΈ MenuItem

MenuItem Π½Π° устройствах Android ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡ΠΊΠΈ. На Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Text свойством.

Π—Π½Π°Ρ‡ΠΊΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IconImageSource Бвойства. Если ΡƒΠΊΠ°Π·Π°Π½ Π·Π½Π°Ρ‡ΠΎΠΊ, Ρ‚ΠΎ тСкст, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Text свойством, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ снимкС экрана ΠΏΠΎΠΊΠ°Π·Π°Π½ MenuItem Π·Π½Π°Ρ‡ΠΎΠΊ со Π·Π½Π°Ρ‡ΠΊΠΎΠΌ Π½Π° Android:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСмСнта MenuItem Π²ΠΎ врСмя выполнСния

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ MenuItem Π²ΠΎ врСмя выполнСния, привяТитС Π΅Π³ΠΎ Command свойство ΠΊ ICommand Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ canExecute Π΄Π΅Π»Π΅Π³Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ICommand ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, MenuItem Command свойство ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ привязано ΠΊ ICommand ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ MyCommand :

ICommand Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ трСбуСтся canExecute Π΄Π΅Π»Π΅Π³Π°Ρ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства, bool Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MenuItem :

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ элСмСнт MenuItem ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° IsMenuItemEnabled Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Π½ΠΎ свойство. Π’ этом случаС Command.ChangeCanExecute вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ canExecute MyCommand ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ вычислСниС Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°.

ПовСдСниС контСкстного мСню Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…

К контСкстным мСню ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.

Π’ Android контСкстноС мСню активируСтся Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ элСмСнта списка. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню замСняСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π° MenuItem ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.

Π’ iOS контСкстноС мСню активируСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π½Π° элСмСнтС списка. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню отобраТаСтся Π² элСмСнтС списка ΠΈ MenuItems отобраТаСтся Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’ UWP контСкстноС мСню активируСтся Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ элСмСнту списка. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню отобраТаСтся рядом с курсором Π² Π²ΠΈΠ΄Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ списка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Xamarin.Forms

Π’ΠΈΠΏ TabBar ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню.

ΠžΠ΄Π½ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ создаст Ρ‚Π°ΠΊΡƒΡŽ структуру одностраничного прилоТСния:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

НиТниС вкладки

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Tab ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π½ΠΈΠΆΠ½ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, Ссли сущСствуСт нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Tab Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ TabBar :

Бвойство Title Ρ‚ΠΈΠΏΠ° string опрСдСляСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ. Бвойство Icon Ρ‚ΠΈΠΏΠ° ImageSource опрСдСляСт Π·Π½Π°Ρ‡ΠΎΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ:

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ пяти Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² TabBar появляСтся Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для доступа ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ.

Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ нСявного прСобразования ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для удалСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ShellContent ΠΈ Tab ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

НиТниС ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ создаСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… снимках экрана:

[Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms. Π€ΠΎΡ‚ΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню Π² xamarin forms

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ нСявного прСобразования ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для удалСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Tab ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ

Класс Shell прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ присоСдинСнныС свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ внСшний Π²ΠΈΠ΄ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΡ‚ΠΈΠ»ΡŒ XAML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ свойства для Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΡ‚ΠΈΠ»ΡŒ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ каскадных Ρ‚Π°Π±Π»ΠΈΡ† стилСй (CSS). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡΠΎΠ±Ρ‹Π΅ свойства ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Xamarin.Forms.

Π’Ρ‹Π±ΠΎΡ€ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ShellContent с ΠΈΠΌΠ΅Π½Π΅ΠΌ dogsItem эквивалСнтный ΠΊΠΎΠ΄ Π½Π° C# выглядит Ρ‚Π°ΠΊ:

Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ TabBar ΠΈ Tab

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ панСль Π²ΠΊΠ»Π°Π΄ΠΎΠΊ скрываСтся ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Dogs Π²Π²Π΅Ρ€Ρ…Ρƒ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Tab ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ, Π·Π°Π΄Π°Π² для привязываСмого свойства IsVisible Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false :

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *