【发布时间】:2020-08-09 19:10:55
【问题描述】:
我的项目有问题。
在“App.xaml.cs”上,我检查用户首选项,如果有值则用户转到第 1 页,如果未找到值则用户转到第 2 页。
第 2 页加载正常,没有任何问题。
但是第 1 页(我正在使用主详细信息页面)在界面上有问题。我不知道它是怎么发生的,几分钟前我刚刚重新打开了我的项目,尝试编译然后我得到了这个。有人可以帮帮我吗?
a white empty space between the notification bar and the title bar of the master detail page
App.Xaml.cs
public App()
{
InitializeComponent();
bool hasKey = Preferences.ContainsKey("sess");
if (hasKey == true)
{
var mySession = Preferences.Get("sess", "");
App.Current.MainPage = new NavigationPage(new Master());
}
else
{
App.Current.MainPage = new NavigationPage(new Views.Forms.LoginWithSocialIconPage());
}
}
MasterMaster.xaml
<StackLayout>
<ListView x:Name="MenuItemsListView" SeparatorVisibility="None" HasUnevenRows="true" ItemsSource="{Binding MenuItems}">
<ListView.Header>
<Grid BackgroundColor="Black">
<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>
<Frame Grid.Column="1" Grid.Row="1" x:Name="circleFrame" HasShadow="False" Padding="0" Margin="0" VerticalOptions="Center" HorizontalOptions="Center" BackgroundColor="Black" BorderColor="Black" CornerRadius="10" IsClippedToBounds="True">
<Image x:Name="circleImg" Source="icon.png"></Image>
</Frame>
<Label Grid.Column="1" Grid.Row="2" TextColor="White" Text="Nome" FontFamily="{StaticResource Montserrat-Medium}" Style="{DynamicResource SubtitleStyle}"/>
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="15,10" HorizontalOptions="FillAndExpand">
<Label VerticalOptions="FillAndExpand" FontFamily="{StaticResource Montserrat-Medium}" VerticalTextAlignment="Center" Text="{Binding Title}" FontSize="18"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
MasterDetail.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Thinkzr.MasterDetail" Title="Título">
<StackLayout Padding="10">
<Label Text="Conteúdo carregado aqui"/>
<!--<Image Source="icon.png"/>-->
</StackLayout>
</ContentPage>
Master.xaml
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Thinkzr.Master" xmlns:pages="clr-namespace:Thinkzr">
<MasterDetailPage.Master>
<pages:MasterMaster x:Name="MasterPage" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<pages:MasterDetail />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
【问题讨论】:
-
贴出相关代码会很有帮助
-
对不起。我刚刚添加了代码
-
不应将 MasterDetail 包装在 NavigationPage 中
-
MasterDetail 页面是由 Visual Studio 生成的,我只是在菜单上添加了 de frame+image,我没有更改代码。它在清晨工作,但现在我遇到了这个问题......
-
我的意思是
App.Current.MainPage = new NavigationPage(new Master());
标签: xaml xamarin xamarin.forms xamarin.android