我按照本教程(https://xamgirl.com/transparent-navigation-bar-in-xamarin-forms/)使导航栏透明并且可以工作,但是我想将Value =“ Transparent”更改为向下滚动后的Value =“ Black”
<NavigationPage.BarBackgroundColor>
<OnPlatform x:TypeArguments="Color">
<On Platform="Android, iOS" Value="Transparent"/>
</OnPlatform>
</NavigationPage.BarBackgroundColor>
我尝试从.cs文件而不是.xaml更改颜色,但是该属性无法正常工作,还尝试了绑定,但是如果“ Value”为空,应用程序崩溃了,我该如何解决?
答案 0 :(得分:0)
在Xamrin Forms中,如果具有导航栏,则可以将栏背景设置如下:
var navigationPage = Application.Current.MainPage as NavigationPage;
if (null != navigationPage)
{
navigationPage.BarBackgroundColor = Color.Black;
}
请注意,初始化接口后,Application.Current.MainPage为null。
已更新:
您可以使用ScrollView的ScrollX
和ScrollY
属性来确定水平和垂直滚动偏移量。它们是可绑定的,因此,如果您使用的是MVVM,则可以将它们映射到视图模型上的属性。
如果您不使用MVVM,并且想对ScrollX
或ScrollY
中的更改做出反应,请在ScrollView的Scrolled
事件中添加一个侦听器。
要在ScrollView中查找内容的总高度或宽度,请使用ContentSize
属性。 Content
属性将为您提供包含的View
本身。