簡體   English   中英

如何在Scroll上更改NavigationPage

[英]How to change the NavigationPage on Scroll

我按照本教程( https://xamgirl.com/transparent-navigation-bar-in-xamarin-forms/ )使導航欄透明,但它有效,但我想更改Value =“Transparent”讓我們說向下滾動后,值為“黑色”

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

我試圖改變.cs文件而不是.xaml的顏色,但屬性不起作用,也嘗試使用綁定但如果“Value”為空,應用程序崩潰,我該如何解決這個問題?

在Xamrin Forms中,如果有導航欄,可以設置欄背景如下:

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

請注意,初始化接口時Application.Current.MainPage為null。

更新

  1. 您可以使用ScrollView的ScrollXScrollY屬性確定水平和垂直滾動偏移。 這些是可綁定的,因此如果您使用MVVM,則可以將它們映射到視圖模型上的屬性。 如果您沒有使用MVVM並希望對ScrollXScrollY更改做出反應,請向ScrollView的Scrolled事件添加一個偵聽器。

  2. 要在ScrollView中查找內容的總高度或寬度,請使用ContentSize屬性。 Content屬性將為您提供包含的View本身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM