Xamarin.forms: Briser les changements Xaml sur XF 3.1

Créé le 24 juin 2018  ·  3Commentaires  ·  Source: xamarin/Xamarin.Forms

Je voulais juste vous informer que si vous mettez à niveau sur la version XF 3.1, vous pouvez obtenir des erreurs xaml indiquant que "les noms de membres ne peuvent pas être les mêmes que leur type englobant". il s'agit d'une erreur C # bien connue si les types parent et enfant ont le même nom

La raison en est que le code ci-dessous fonctionne dans les versions antérieures à XF 3.1 mais renvoie une erreur sur XF 3.1 ... Je ne sais pas si cela est censé être un bogue ou une correction d'un bogue tout le temps?

<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

Commentaire le plus utile

@EmilAlipiev @StephaneDelcroix oui, aurait été utile d'être prévenu. Il s'agit d'un changement radical et vos excuses / excuses ne sont d'aucune utilité.

Tous les 3 commentaires

La seule chose qui a changé est que nous créons maintenant un champ pour x:Name défini au niveau de l'élément XAML de niveau supérieur, afin qu'il soit éventuellement accessible à partir de code-behind, et nous ne l'étions pas avant.

Vous pouvez reproduire ce comportement avec n'importe quelle version précédente de XF en ayant un Label ou n'importe quel élément dans votre xaml avec un attribut `x: Name =" TestPage "'.

Nous sommes désolés si cela casse une partie de votre code. Après mûre réflexion, cela n'est pas considéré comme un bogue ou une régression. Votre code reposait sur une validation manquante, mais vous ne pouvez plus exploiter cet échec.

La solution de contournement pour cela est triviale, simple et très simple à mettre en place.

@StephaneDelcroix Je suis d'accord avec cela. Je n'ai porté à votre attention que parce que vous auriez dû le souligner. VS2017 ne me donne pas suffisamment d'informations, mais génère des centaines d'erreurs pour un seul fichier. une fois que je restaure à 3.0, tout fonctionne bien. juste pour quiconque ayant cette erreur de faire référence à ce problème.

@EmilAlipiev @StephaneDelcroix oui, aurait été utile d'être prévenu. Il s'agit d'un changement radical et vos excuses / excuses ne sont d'aucune utilité.

Cette page vous a été utile?
0 / 5 - 0 notes