有什么办法可以在导航栏上逐页在xamarin表单上添加背景图像

时间:2019-03-01 14:36:21

标签: c# xamarin.forms custom-renderer

有没有办法在xamarin表单上的导航栏上逐页添加背景图像?

This must change every page

1 个答案:

答案 0 :(得分:0)

需要编写一个自定义渲染器以更改导航栏的背景。这仅仅是因为导航栏没有用于更改背景图像的选项。

https://books.google.co.uk/books/about/Xamarin_Forms_Solutions.html?id=wvt9DwAAQBAJ&printsec=frontcover&source=kp_read_button&redir_esc=y#v=onepage&q&f=false

这本^书有一个非常简短的小节,介绍如何编写自定义渲染(您甚至可以在预览版中找到它,而无需购买它)。

另一种解决方案是在页面顶部创建自定义横幅

https://forums.xamarin.com/discussion/126227/customizing-navigation-bar-or-action-bar-in-xamarin-forms[As在此答案中提到2

<ContentPage NavigationPage.HasNavigationBar="false">
    <StackLayout VerticalOptions="Start" 
                               HorizontalOptions="FillAndExpand" 
                               Orientation="Horizontal"          
                               Padding="10,5,10,5>
        <Image HorizontalOptions="StartAndExpand" source="yourimage.png"/>
        <Label HorizontalOptions="CenterAndExpand" Text="ALL"/>
        <Image HorizontalOptions="EndAndExpand" source="yourimage.png"/>
    </StackLayout>
    <StackLayout>
        <!-- Place your code for page body-->
    </StackLayout>
</ContentPage>

为了简单起见,我将代码复制到了这里。此解决方案删除了​​导航栏,并允许您在XAML的每个页面上创建自定义横幅。在这里,您可以根据需要更改布局。