簡體   English   中英

MasterDetailPage 背景圖像未顯示在 xamarin.forms 中的 IOS 中

[英]MasterDetailPage background image not displaying in IOS in xamarin.forms

我在 Xamarin.Forms 中使用 MasterDetailPage。 我在 OnAppearing() 方法中設置了 BackgroundImage 屬性。 它在android中運行良好。 但是,在 IOS 中不顯示圖像。

我的代碼: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>

您應該檢查圖像是否作為 BundleResource 設置到 iOS 項目,如果沒有,則應將其設置為如此。 我自己在這方面遇到了一些麻煩。

在此處輸入圖片說明

暫無
暫無

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

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