c# - 如何在 Scroll 上更改 NavigationPage
问题描述
我按照本教程(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”为空应用程序崩溃,我该如何解决这个问题?
解决方案
在 Xamrin Forms 中,如果有导航栏,可以设置栏背景如下:
var navigationPage = Application.Current.MainPage as NavigationPage;
if (null != navigationPage)
{
navigationPage.BarBackgroundColor = Color.Black;
}
请注意,初始化接口时 Application.Current.MainPage 为 null。
更新:
ScrollX
您可以使用 ScrollView 的和ScrollY
属性确定水平和垂直滚动偏移量。这些是可绑定的,因此如果您使用 MVVM,您可以将它们映射到视图模型上的属性。如果您不使用 MVVM 并且想要对ScrollX
or中的更改做出反应ScrollY
,请将侦听器添加到 ScrollView 的Scrolled
事件。要查找 ScrollView 中内容的总高度或宽度,请使用该
ContentSize
属性。该Content
属性将为您提供包含的内容View
。
推荐阅读
- java - 如何使用 AvroParquetWriter 并通过 AmazonS3 api 写入 S3?
- php - Stripe 在创建令牌时返回“客户必须附加一个有效的付款来源”
- c# - 在 Windows 10 下更改 windows 窗体会更改填充
- spring - 在 intellij 中不能有 spring 注释
- quickbooks - 使用 QBWC 将账单添加到 QuickBooks
- node.js - 解析带有空格的嵌套键的查询
- python - 使用另一个张量在二维 PyTorch 张量中进行索引
- java - Java 错误 ENOENT(没有这样的文件或目录)
- c - Lex 和 Yacc 符号表的生成和操作
- django - 访问用户属性时,Django Rest Framework 非常慢