2017-02-21 2 views
0

Ich hatte meinen Anteil von "was der f% $ @" Xamarin Fehler bildet. Aber dieser eine übertrifft den Kuchen. Ich habe jetzt ungefähr 3 Stunden damit verbracht, herauszufinden, warum diese Seite nur auf 504 Höhe gesetzt wird, und nichts, was ich tue, scheint es zu beheben. Buchstäblich haben eine leere Seite in etwa so:Höhe von ContentPage wird auf 504 festgelegt?

<?xml version="1.0" encoding="utf-8" ?> 
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:controls="clr-namespace:XamarinMobile.Controls;assembly=XamarinMobile" 
      xmlns:local="clr-namespace:XamarinMobile.Classes;assembly=XamarinMobile" 
      xmlns:converters="clr-namespace:XamarinMobile.Converters;assembly=XamarinMobile" 
      xmlns:viewModels="clr-namespace:XamarinMobile.ViewModels;assembly=XamarinMobile" 
      xmlns:customRenderers="clr-namespace:XamarinMobile.CustomRenderers;assembly=XamarinMobile" 
      x:Class="XamarinMobile.CommentsPage"> 

     <Label Text="Test"></Label> 

    </ContentPage> 

Und ich dieses Ergebnis:

enter image description here

wahrsten Sinne des Wortes ist es identisch zu anderen Seiten, die nicht über dieses Problem. Irgendwelche Einsichten? Irgendeine Möglichkeit, um eine minimale Höhe der Bildschirmhöhe zu erzwingen? So nervig.

+0

Haben Sie die designer.cs überprüfen Datei? – MiltoxBeyond

+0

Habe ich nach was gesucht? – jdmdevdotnet

+0

Alles, was spezifisch einen Wert im generierten Code-Behind setzt. Im Grunde suchen Sie nach '.Height =' – MiltoxBeyond

Antwort

0

Das Problem schien also zu sein, dass ich keine Methode anrufe, die ich anrufen musste.

NavigationPage.SetHasNavigationBar

https://developer.xamarin.com/api/member/Xamarin.Forms.NavigationPage.SetHasNavigationBar/p/Xamarin.Forms.BindableObject/System.Boolean/

Das Verhalten dieses ungerade ist. Es weist Speicherplatz für eine Navigationsleiste zu, wenn Sie sie nicht angeben. Sie würden denken, dass es standardmäßig auf "false" gesetzt ist, aber es scheint, als wäre es standardmäßig "true". Einstellung es falsch, das Problem behoben:

Xamarin.Forms.NavigationPage.SetHasNavigationBar(this, false);

0

Sie können die Höhe eines Layouts manuell auf den Bildschirm einstellen.

App.ScreenWidth = (int)UIScreen.MainScreen.Bounds.Width; 
App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height; 

Dann legen Sie eine relative oder Stapellayout auf Höhe/Breite zu den Ergebnissen. Ich denke, Sie wären besser dran, einen Blick auf https://developer.xamarin.com/guides/xamarin-forms/user-interface/layouts/ und vielleicht ein Stacklout-Layout mit vertikalen Option zu füllen. Ich würde erwarten, dass die Bildschirmhöhe übereinstimmt.

+0

Nein, 'App.ScreenHeight' ist richtig eingestellt. Tatsächlich mache ich diesen Code, den Sie haben. Ich setze 'HeighRequest' und' MinimumHeightRequest' auf 'App.ScreenHeight' (was 568 beim Debuggen ist) und dann setzt es irgendwie auf 504. – jdmdevdotnet

Verwandte Themen