Xamarin.forms: Brechen von Xaml-Änderungen in XF 3.1

Erstellt am 24. Juni 2018  ·  3Kommentare  ·  Quelle: xamarin/Xamarin.Forms

Ich wollte Sie nur darüber informieren, dass beim Upgrade auf die XF 3.1-Version möglicherweise XAML-Fehler auftreten, die darauf hinweisen, dass "Mitgliedsnamen nicht mit dem umschließenden Typ identisch sein können". Dies ist ein bekannter C # -Fehler, wenn übergeordnete und untergeordnete Typen denselben Namen haben

Grund dafür ist, dass der folgende Code in Versionen vor XF 3.1 funktioniert, aber einen Fehler in XF 3.1 zurückgibt ... Ich bin nicht sicher, ob dies die ganze Zeit ein Fehler oder eine Fehlerbehebung sein soll?

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             x:Class="myApp.TestPage"  x:Name="TestPage" > 

  <ContentPage.Content>

            <c:cwTest x:Name="cwTest"  VerticalOptions="FillAndExpand"  HorizontalOptions="FillAndExpand"/>

  </ContentPage.Content>
</ContentPage>
Xaml </> invalid bug

Hilfreichster Kommentar

@EmilAlipiev @StephaneDelcroix ja, wäre hilfreich gewesen, um gewarnt zu werden. Dies ist eine bahnbrechende Änderung und Ihre Art von Entschuldigung / Entschuldigung ist nicht hilfreich.

Alle 3 Kommentare

Das einzige, was sich geändert hat, ist, dass wir jetzt ein Feld für x:Name erstellen, das im XAML-Element der obersten Ebene definiert ist, sodass schließlich über CodeBehind darauf zugegriffen werden kann, und das waren wir vorher nicht.

Sie können dieses Verhalten mit jeder früheren Version von XF reproduzieren, indem Sie ein Label oder ein beliebiges Element in Ihrer xaml mit dem Attribut `x: Name =" TestPage "'haben.

Es tut uns leid, wenn ein Teil Ihres Codes beschädigt wird. Nach sorgfältiger Überlegung wird dies nicht als Fehler oder Regression angesehen. Ihr Code stützte sich früher auf eine fehlende Validierung, aber Sie können diesen Fehler nicht mehr ausnutzen.

Die Problemumgehung hierfür ist trivial, unkompliziert und sehr einfach einzurichten.

@StephaneDelcroix Dem stimme ich zu. Ich habe Sie nur darauf aufmerksam gemacht, weil Sie es hätten hervorheben sollen. VS2017 gibt mir nicht genügend Informationen, sondern wirft Hunderte von Fehlern für eine einzelne Datei aus. Sobald ich wieder auf 3.0 wiederhergestellt habe, funktioniert alles einwandfrei. Nur für alle anderen, die diesen Fehler haben, um auf dieses Problem zu verweisen.

@EmilAlipiev @StephaneDelcroix ja, wäre hilfreich gewesen, um gewarnt zu werden. Dies ist eine bahnbrechende Änderung und Ihre Art von Entschuldigung / Entschuldigung ist nicht hilfreich.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen