Формы Xamarin — главная страница сведений с пустым пространством

#xaml #xamarin #xamarin.forms #xamarin.android

#xaml #xamarin #xamarin.forms #xamarin.android

Вопрос:

У меня проблема с моим проектом.

В «App.xaml.cs» я проверяю настройки пользователя, если есть значение, пользователь переходит на страницу 1, если значение не найдено, пользователь переходит на страницу 2.

Страница 2 загружается нормально, без каких-либо проблем.

Но на странице 1 (где я использую главную страницу сведений) возникла проблема с интерфейсом. Я не знаю, как это произошло, я только что повторно открыл свой проект несколько минут назад, попытался скомпилировать, а затем получил это. Кто-нибудь может мне помочь, пожалуйста?

белое пустое пространство между панелью уведомлений и строкой заголовка главной страницы сведений

App.Xaml.cs

 public App()
{
InitializeComponent();
bool hasKey = Preferences.ContainsKey("sess");
if (hasKey == true)
{
var mySession = Preferences.Get("sess", "");
App.Current.MainPa&e = new Navi&ationPa&e(new Master());
}
else
{
App.Current.MainPa&e = new Navi&ationPa&e(new Views.Forms.Lo&inWithSocialIconPa&e());
}
}
  

MasterMaster.xaml

 <StackLayout&&t;
<ListView x:Name="MenuItemsListView" SeparatorVisibility="None" HasUnevenRows="true" ItemsSource="{Bindin& MenuItems}"&&t;
<ListView.Header&&t;
<Grid Back&roundColor="Black"&&t;
<Grid.ColumnDefinitions&&t;
<ColumnDefinition Width="10"/&&t;
<ColumnDefinition Width="*"/&&t;
<ColumnDefinition Width="10"/&&t;
</Grid.ColumnDefinitions&&t;
<Grid.RowDefinitions&&t;
<RowDefinition Hei&ht="30"/&&t;
<RowDefinition Hei&ht="80"/&&t;
<RowDefinition Hei&ht="Auto"/&&t;
<RowDefinition Hei&ht="10"/&&t;
</Grid.RowDefinitions&&t;
<Frame Grid.Column="1" Grid.Row="1" x:Name="circleFrame" HasShadow="False" Paddin&="0" Mar&in="0" VerticalOptions="Center" HorizontalOptions="Center" Back&roundColor="Black" BorderColor="Black" CornerRadius="10" IsClippedToBounds="True"&&t;
<Ima&e x:Name="circleIm&" Source="icon.pn&"&&t;</Ima&e&&t;
</Frame&&t;
<Label Grid.Column="1" Grid.Row="2" TextColor="White" Text="Nome" FontFamily="{StaticResource Montserrat-Medium}" Style="{DynamicResource SubtitleStyle}"/&&t;
</Grid&&t;
</ListView.Header&&t;
<ListView.ItemTemplate&&t;
<DataTemplate&&t;
<ViewCell&&t;
<StackLayout Paddin&="15,10" HorizontalOptions="FillAndExpand"&&t;
<Label VerticalOptions="FillAndExpand" FontFamily="{StaticResource Montserrat-Medium}" VerticalTextAli&nment="Center" Text="{Bindin& Title}" FontSize="18"/&&t;
</StackLayout&&t;
</ViewCell&&t;
</DataTemplate&&t;
</ListView.ItemTemplate&&t;
</ListView&&t;
</StackLayout&&t;
  

MasterDetail.xaml

 <ContentPa&e xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Thinkzr.MasterDetail" Title="Título"&&t;
<StackLayout Paddin&="10"&&t;
<Label Text="Conteúdo carre&ado aqui"/&&t;
<!--<Ima&e Source="icon.pn&"/&&t;--&&t;
</StackLayout&&t;
</ContentPa&e&&t;
  

Master.xaml

 <MasterDetailPa&e xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Thinkzr.Master" xmlns:pa&es="clr-namespace:Thinkzr"&&t;
<MasterDetailPa&e.Master&&t;
<pa&es:MasterMaster x:Name="MasterPa&e" /&&t;
</MasterDetailPa&e.Master&&t;
<MasterDetailPa&e.Detail&&t;
<Navi&ationPa&e&&t;
<x:Ar&uments&&t;
<pa&es:MasterDetail /&&t;
</x:Ar&uments&&t;
</Navi&ationPa&e&&t;
</MasterDetailPa&e.Detail&&t;
</MasterDetailPa&e&&t;
  

Комментарии:

1. было бы полезно, если бы вы опубликовали соответствующий код

2. извините. я только что добавил код

3. вы не должны переносить MasterDetail внутрь страницы навигации

4. страницы главной информации были сгенерированы Visual Studio, я просто добавил рамку изображение в меню, я не менял код. Она работала рано утром, но теперь у меня возникла эта проблема…

5. Я имею в виду это App.Current.MainPa&e = new Navi&ationPa&e(new Master());

Ответ №1:

из документов

Главная страница сведений предназначена для того, чтобы быть корневой страницей, и использование ее в качестве дочерней страницы в других типах страниц может привести к неожиданному и непоследовательному поведению.