MasterDetailPage背景图像不显示在IOS中xamarin.forms

问题描述:

我在Xamarin.Forms中使用MasterDetailPage。我在OnAppearing()方法中设置了BackgroundImage属性。它在Android中正常工作。但是,在IOS图像中不显示。MasterDetailPage背景图像不显示在IOS中xamarin.forms

我的代码:XAML

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     x:Class="EzySales.Views.MainPageMaster" 
     Title="Master" > 
<StackLayout VerticalOptions="FillAndExpand"> 
    <ListView x:Name="MenuItemsListView" WidthRequest="200" 
      HasUnevenRows="true" 
      ItemsSource="{Binding MenuItems}" 
      SeparatorColor="White"> 
     <ListView.Header> 
      <Grid > 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="10"/> 
        <ColumnDefinition Width="*"/> 
        <ColumnDefinition Width="10"/> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="80"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="10"/> 
       </Grid.RowDefinitions> 
       <Image Source="logo.png" Grid.Row="1" Grid.Column="1"></Image> 
      </Grid> 
     </ListView.Header> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell Grid.Row="2"> 
        <StackLayout Padding="15,10" Orientation="Horizontal"> 
         <Image Source="{Binding Icon}" 
           WidthRequest="30" 
           HeightRequest="30" Margin="0,0,5,0" 
           VerticalOptions="Center" /> 
         <Label VerticalOptions="FillAndExpand" 
          VerticalTextAlignment="Center" 
          HorizontalTextAlignment="Center"      
          Text="{Binding Title}" 
          TextColor="White"      
          FontSize="16" FontAttributes="Bold" /> 
        </StackLayout> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</StackLayout> 

MainPageMaster.xaml.cs

protected override void OnAppearing() 
    { 
     this.BackgroundImage = "masterpagebg.png";   
    } 

图片是在资源文件夹中。

我也面临同样的问题和解决的。 试试这个希望这将有助于..

你可以使用一个相对布局达到的结果

<RelativeLayout> 
    <Image Source="masterpagebg.png" Opacity="1" 
       RelativeLayout.WidthConstraint= 
        "{ConstraintExpression Type=RelativeToParent, Property=Width}" 
       RelativeLayout.HeightConstraint= 
        "{ConstraintExpression Type=RelativeToParent, Property=Height}"/> 

     <ListView RelativeLayout.WidthConstraint= 
       "{ConstraintExpression Type=RelativeToParent, Property=Width}" 
      RelativeLayout.HeightConstraint= 
       "{ConstraintExpression Type=RelativeToParent, Property=Height}" x:Name="MenuItemsListView" WidthRequest="200" 
     HasUnevenRows="true" 
     ItemsSource="{Binding MenuItems}" 
     SeparatorColor="White"> 
    <ListView.Header> 
     <Grid > 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="10"/> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="10"/> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="30"/> 
       <RowDefinition Height="80"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="10"/> 
      </Grid.RowDefinitions> 
      <Image Source="logo.png" Grid.Row="1" Grid.Column="1"></Image> 
     </Grid> 
    </ListView.Header> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell Grid.Row="2"> 
       <StackLayout Padding="15,10" Orientation="Horizontal"> 
        <Image Source="{Binding Icon}" 
          WidthRequest="30" 
          HeightRequest="30" Margin="0,0,5,0" 
          VerticalOptions="Center" /> 
        <Label VerticalOptions="FillAndExpand" 
         VerticalTextAlignment="Center" 
         HorizontalTextAlignment="Center"      
         Text="{Binding Title}" 
         TextColor="White"      
         FontSize="16" FontAttributes="Bold" /> 
       </StackLayout> 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
    </RelativeLayout> 
+0

仍然不能在IOS中工作。在Android中,它工作正常。 –

+0

我认为您的图片未正确添加到您的解决方案中。所以请从您的解决方案中删除图像并再次添加。 –

+0

我已删除并再次添加。但仍然没有工作。 –

您应该检查图像是否设置为iOS项目作为BundleResource,如果不是,您应该将其设置为如此。我自己也遇到了一些麻烦。

enter image description here

+0

是的,我已经设置生成操作为BundleResource.Still不工作! –