#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:
из документов
Главная страница сведений предназначена для того, чтобы быть корневой страницей, и использование ее в качестве дочерней страницы в других типах страниц может привести к неожиданному и непоследовательному поведению.