Как изменить NavigationPage на Scroll - PullRequest
0 голосов
/ 04 июня 2019

Я следовал этому руководству (https://xamgirl.com/transparent-navigation-bar-in-xamarin-forms/), чтобы сделать панель навигации прозрачной, и она работает, но я хотел бы изменить значение = "Прозрачный", скажем, на Значение = "Черный" после прокрутки вниз

<NavigationPage.BarBackgroundColor>
    <OnPlatform x:TypeArguments="Color">
        <On Platform="Android, iOS" Value="Transparent"/>
    </OnPlatform>
</NavigationPage.BarBackgroundColor>

Я попытался изменить цвет из файла .cs вместо .xaml, но свойство не работает таким образом, также попытался с привязкой, но если «Значение» пусто, приложение вылетает, как я могуисправить это?

1 Ответ

0 голосов
/ 06 июня 2019

В формах Xamrin, если имеется панель навигации, можно установить фон панели следующим образом:

var navigationPage = Application.Current.MainPage as NavigationPage;
if (null != navigationPage)
{
     navigationPage.BarBackgroundColor = Color.Black;
}

Обратите внимание, что Application.Current.MainPage имеет значение null при инициализации интерфейса.

Обновлено

  1. Вы можете определить горизонтальное и вертикальное смещение прокрутки, используя свойства ScrollX и ScrollY вашего ScrollView. Они являются привязываемыми, поэтому, если вы используете MVVM, вы можете сопоставить их со свойствами в вашей модели представления. Если вы не используете MVVM и хотите реагировать на изменения в ScrollX или ScrollY, добавьте прослушиватель для события Scrolled ScrollView.

  2. Чтобы узнать общую высоту или ширину содержимого в ScrollView, используйте свойство ContentSize. Свойство Content выдаст вам содержимое View.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...