Mise en Page

momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021 - Modifié le 12 août 2021 à 19:28
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 - 15 août 2021 à 10:17
Bonjour, jai un problème au niveau du rendu visuel de mon menu quelqu'un saurait dépister kle problème s'il vous plait?

<?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:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="SalesApp.Pages.HomePage"
             NavigationPage.HasNavigationBar="False">

    <ContentPage.Content>
        <Grid>
            <Grid Margin="15,15,15,0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="60"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*"/>
                    <ColumnDefinition Width="6*"/>
                    <ColumnDefinition Width="2*"/>
                </Grid.ColumnDefinitions>
                <Image Source ="menuicon.png"
                       Margin="0,10,0,0"
                       HeightRequest="35"
                       WidthRequest="35"
                       Aspect="Fill"
                       Grid.Column="0"
                       HorizontalOptions="Start"
                       VerticalOptions="Start">
                    <Image.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapMenu" Tapped="TapMenu_Tapped"/>
                    </Image.GestureRecognizers>
                </Image>
                <Label Text=""
                        TextColor="Black"
                        HorizontalOptions="Center"
                        VerticalOptions="Center"
                        FontSize="Title"
                        Grid.Column="1"/>
                <Grid Grid.Column="2"
                      HorizontalOptions="EndAndExpand"
                      VerticalOptions="Center">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <Image VerticalOptions="Center"
                               HorizontalOptions="Center"
                               Source="carticon.png"
                               HeightRequest="30"
                               WidthRequest="30"
                               Grid.Row="1"
                               Grid.Column="0"
                               Grid.RowSpan="2"
                               Grid.ColumnSpan="2"/>
                    <Frame Padding="1"
                               Margin="20,0,0,0"
                               CornerRadius="55"
                               VerticalOptions="End"
                               HorizontalOptions="Start"
                               Grid.Row="0"
                               Grid.Column="1"
                               Grid.RowSpan="2"
                               BackgroundColor="#FA6400">
                        <Label x:Name="LblArticleTotal"
                                   VerticalTextAlignment="Center"
                                   HorizontalTextAlignment="Center"
                                   HeightRequest="25"
                                   WidthRequest="25"
                                   TextColor="White"/>
                    </Frame>
                    <Grid.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapCartIcon" Tapped="TapCartIcon_Tapped"/>
                    </Grid.GestureRecognizers>
                </Grid>
            </Grid>
            <StackLayout Margin="0,65,0,0">
                <CollectionView x:Name="CvProduits"
                             SelectionMode="Single"
                             SelectionChanged="CvProduits_SelectionChanged">
                    <CollectionView.ItemsLayout>
                        <GridItemsLayout Orientation="Vertical"
                                         Span="2"
                                         VerticalItemSpacing="20"
                                         HorizontalItemSpacing="0"/>
                    </CollectionView.ItemsLayout>
                    <CollectionView.Header>
                        <StackLayout>
                            <Label Margin="15,50,15,15"
                                   Text="Explore"
                                   FontAttributes="Bold"
                                   FontSize="Title"
                                   TextColor="#2C2C2C"/>
                            <CollectionView x:Name="CvCategories"
                                            HeightRequest="200"
                                            SelectionMode="Single"
                                            SelectionChanged="CvCategories_SelectionChanged">
                                <CollectionView.ItemsLayout>
                                    <LinearItemsLayout Orientation="Horizontal"/>
                                </CollectionView.ItemsLayout>
                                <CollectionView.ItemTemplate>
                                    <DataTemplate>
                                        <StackLayout Orientation="Horizontal">
                                            <Frame Padding="0"
                                                BackgroundColor="Transparent"
                                                Margin="15,0,15,0"
                                                HasShadow="True">
                                                <StackLayout Orientation="Vertical">
                                                    <Frame Padding="0"
                                                   CornerRadius="15"
                                                   IsClippedToBounds="True"
                                                   HeightRequest="150"
                                                   WidthRequest="150"
                                                   HorizontalOptions="Center">
                                                        <Image Aspect="AspectFit"
                                                       HorizontalOptions="FillAndExpand"
                                                       VerticalOptions="FillAndExpand"
                                                       Source="{Binding FullImageUrl}"/>
                                                    </Frame>
                                                    <Label TextColor="#2C2C2C"
                                                   HorizontalTextAlignment="Center"
                                                   FontSize="Medium"
                                                   Text="{Binding Nom}"/>

                                                </StackLayout>
                                            </Frame>
                                        </StackLayout>
                                    </DataTemplate>
                                </CollectionView.ItemTemplate>
                            </CollectionView>
                            <Label Margin="15,15,15,0"
                             Text="Produits Tendances"
                               TextColor="#2C2C2C"
                               FontSize="Title"
                               FontAttributes="Bold"/>
                        </StackLayout>
                    </CollectionView.Header>
                    <CollectionView.ItemTemplate>
                        <DataTemplate>
                            <StackLayout Spacing="0">
                                <Frame CornerRadius="10"
                                           HasShadow="False"
                                           Margin="15,0,15,0"
                                           Padding="20">
                                    <StackLayout Spacing="5"
                                              Orientation="Vertical">
                                        <Image Aspect="Fill"
                                                   HeightRequest="120"
                                               Source="{Binding FullImageUrl}"/>
                                        <Label TextColor="#2C2C2C"
                                        Text="{Binding Nom}"/>
                                        <Label TextColor="#FA6400"
                                                   Text="{Binding Prix, StringFormat='{0}'}"/>
                                    </StackLayout>
                                </Frame>
                            </StackLayout>
                        </DataTemplate>
                    </CollectionView.ItemTemplate>
                </CollectionView>
            </StackLayout>
            <Grid x:Name="GridOverlay"
                      IsVisible="False"
                      ColumnSpacing="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.6*"/>
                    <ColumnDefinition Width="0.4*"/>
                </Grid.ColumnDefinitions>
                <StackLayout BackgroundColor="White"
                             x:Name="SlMenu">
                    <StackLayout BackgroundColor="#FA6400"
                             VerticalOptions="Center"
                             Spacing="0"
                             Margin="0"/>
                    <Label Text="Bienvenue"
            Margin="20,0,20,5"
                       FontSize="Large"
                       TextColor="White"/>
                    <Label x:Name="LblUsername"
                        FontSize="Small"
                        Margin="20,2,20,20"
                        TextColor="White"/>
                </StackLayout>
                <StackLayout Spacing="30"
                              Orientation="Horizontal"
                              Margin="20,20,0,10">
                    <Image Source="order.png"
                           HeightRequest="30"
                           WidthRequest="30"/>
                    <Label Text="Mes Commandes"
                           TextColor="#2C2C2C"
                           HeightRequest="50"
                           VerticalTextAlignment="Center"
                           FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapCommandes" Tapped="TapCommandes_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="30"
                                  Orientation="Horizontal"
                                  Margin="20,30,0,20">
                    <Image Source="carticon.png"
                               HeightRequest="30"
                               WidthRequest="30"/>
                    <Label Text="Carte"
                               TextColor="#2C2C2C"
                               HeightRequest="50"
                               VerticalTextAlignment="Center"
                               FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapCarte" Tapped="TapCarte_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="50"
                                      Orientation="Horizontal"
                                      Margin="20,40,0,30">
                    <Image Source="contact.png"
                                   HeightRequest="30"
                                   WidthRequest="30"/>
                    <Label Text="Contact"
                                   TextColor="#2C2C2C"
                                   HeightRequest="50"
                                   VerticalTextAlignment="Center"
                                   FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapContact" Tapped="TapContact_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="50"
                                          Orientation="Horizontal"
                                          Margin="20,50,0,40">
                    <Image Source="logout.png"
                                        HeightRequest="30"
                                        WidthRequest="30"/>
                    <Label Text="Deconnecter"
                                            TextColor="#2C2C2C"
                                            HeightRequest="50"
                                            VerticalTextAlignment="Center"
                                            FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapDeconnecter" Tapped="TapDeconnecter_Tapped"/>
                    </StackLayout.GestureRecognizers>

                
                </StackLayout>
              
                <BoxView Grid.Column="1"
                                        x:Name="BoxViewLayer">
                    <BoxView.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapFermeMenu" Tapped="TapFermeMenu_Tapped"/>
                    </BoxView.GestureRecognizers>
                </BoxView>

            </Grid>
        </Grid>
    </ContentPage.Content>
</ContentPage>

10 réponses

Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
12 août 2021 à 18:43
Bonjour

merci d'utiliser la coloration syntaxique voir ce court tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code enn l'état c'est illisible. Force en xml.

Ensuite tu as posté en C# oui mais pas vraiment, c'est du xaml à la sauce xamarin, la majorité des gens qui passent par ce forum faisant du winform ils ne pourraient pas comprendre, quand à moi je ne fais pas de xamarin, donc s'il y a une façon de voir dans ton code si c'est pour android, ios ou autre ben je ne la trouverais pas (si je faisais l'effort de chercher dans ton code sans coloration) donc merci de donner un peu de détails sur le contexte.

Enfin, une capture d'écran de ton menu avec une description de ce qui te gêne, et éventuellement une image de ce que tu cherches à faire, pourrait nous aider à essayer de t'aider
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
12 août 2021 à 20:54
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
12 août 2021 à 21:22
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
Modifié le 12 août 2021 à 21:25
Donc le menu affiché en claire c'est lui que j'essaye d'avoir, sauf qu'a la place j'en ai un superposé.
Voila la problématique et le code que j'ai envoyer plus haut.
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
12 août 2021 à 21:17
Au risque de me répéter
donc merci de donner un peu de détails sur le contexte.

et aussi
avec une description de ce qui te gêne

et puis surtout
une capture d'écran de ton menu
pas une photo prise de travers.

Nous ne sommes ni devins ni dans ta tête, pas d'explications claires => pas de réponses à te donner
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
12 août 2021 à 21:48
Maintenant que karamel a édité ton message, ton code est plus lisible, même si l’indentation est en vrac.

Peux tu me confirmer que ton menu commence à la ligne 192 (sur le site, pas forcément sur ton IDE)?

Ou mieux peux tu poster juste ce qui concerne le menu, correctement indenté?
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
12 août 2021 à 22:10
<Grid x:Name="GridOverlay"
                      IsVisible="False"
                      ColumnSpacing="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.6*"/>
                    <ColumnDefinition Width="0.4*"/>
                </Grid.ColumnDefinitions>
                <StackLayout BackgroundColor="White"
                             x:Name="SlMenu">
                    <StackLayout BackgroundColor="#FA6400"
                             VerticalOptions="Center"
                             Spacing="0"
                             Margin="0"/>
                    <Label Text="Bienvenue"
            Margin="20,0,20,5"
                       FontSize="Large"
                       TextColor="White"/>
                    <Label x:Name="LblUsername"
                        FontSize="Small"
                        Margin="20,2,20,20"
                        TextColor="White"/>
                </StackLayout>
                <StackLayout Spacing="30"
                              Orientation="Horizontal"
                              Margin="20,20,0,10">
                    <Image Source="order.png"
                           HeightRequest="30"
                           WidthRequest="30"/>
                    <Label Text="Mes Commandes"
                           TextColor="#2C2C2C"
                           HeightRequest="50"
                           VerticalTextAlignment="Center"
                           FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapCommandes" Tapped="TapCommandes_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="30"
                                  Orientation="Horizontal"
                                  Margin="20,30,0,20">
                    <Image Source="carticon.png"
                               HeightRequest="30"
                               WidthRequest="30"/>
                    <Label Text="Carte"
                               TextColor="#2C2C2C"
                               HeightRequest="50"
                               VerticalTextAlignment="Center"
                               FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapCarte" Tapped="TapCarte_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="50"
                                      Orientation="Horizontal"
                                      Margin="20,40,0,30">
                    <Image Source="contact.png"
                                   HeightRequest="30"
                                   WidthRequest="30"/>
                    <Label Text="Contact"
                                   TextColor="#2C2C2C"
                                   HeightRequest="50"
                                   VerticalTextAlignment="Center"
                                   FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapContact" Tapped="TapContact_Tapped"/>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Spacing="50"
                                          Orientation="Horizontal"
                                          Margin="20,50,0,40">
                    <Image Source="logout.png"
                                        HeightRequest="30"
                                        WidthRequest="30"/>
                    <Label Text="Deconnecter"
                                            TextColor="#2C2C2C"
                                            HeightRequest="50"
                                            VerticalTextAlignment="Center"
                                            FontSize="20"/>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer x:Name="TapDeconnecter" Tapped="TapDeconnecter_Tapped"/>
                    </StackLayout.GestureRecognizers>

                
                </StackLayout>
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645 > momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
12 août 2021 à 23:11
Peux tu essayer de mettre 0 pour l’espacement bas de chaque margin
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021 > Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023
13 août 2021 à 04:38
jai mis sa donne rien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
13 août 2021 à 09:42
ok, alors essaye d'enlever les 2 gridcolumndefinition
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
13 août 2021 à 09:43
de toutes façons elles ne servent à rien dans ce grid
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
13 août 2021 à 11:52
Ha j'ai trouvé et la cause principale c'est que ton code n'est pas du tout organisé.....
Quand je t'ai demandé de poster ton code correctement indenté, tu n'as pas corrigé ton indentation, tu aurais dû.....

Comme je te l'ai dit je ne fait pas de xamarin, mais du xaml "classique" le stacklayout n'existe pas en xaml, mais selon cette page https://docs.microsoft.com/fr-fr/xamarin/xamarin-forms/user-interface/layouts/stacklayout il se comporte à peut près comme un stackpanel.

J'ai donc copié ton code, transformé les stacklayout en stackpanel, modifier les propriétés dont les noms changent (Microsoft n'est décidément jamais foutu de faire des langages cohérents entre eux....) et surtout rangé et indenté comme il faut

Cela donne
        <Grid x:Name="GridOverlay" IsVisible="False">
            <StackPanel Background="White" x:Name="SlMenu">
                <StackPanel Background="#FA6400" Margin="0"/> <!--ici-->
                <Label Content="Bienvenue" Margin="20,0,20,5"/>
                <Label x:Name="LblUsername" Content="UserName"/>
            </StackPanel>

            <StackPanel  Orientation="Horizontal" Margin="20,20,0,10">
                <Image Source="order.png" Height="30" Width="30"/>
                <Label Content="Mes Commandes" Foreground="#2C2C2C" Height="50" FontSize="20"/>
            </StackPanel>

            <StackPanel Orientation="Horizontal" Margin="20,30,0,20">
                <Image Source="carticon.png"
                                   Height="30"
                                   Width="30"/>
                <Label Content="Carte" Foreground="#2C2C2C" Height="50" FontSize="20"/>
            </StackPanel>

            <StackPanel Orientation="Horizontal" Margin="20,40,0,30">
                <Image Source="contact.png" Height="30" Width="30"/>
                <Label Content="Contact" Foreground="#2C2C2C" Height="50" FontSize="20"/>
            </StackPanel>

            <StackPanel Orientation="Horizontal" Margin="20,50,0,40">
                <Image Source="logout.png" Height="30" Width="30"/>
                <Label Content="Deconnecter" Foreground="#2C2C2C" Height="50" FontSize="20"/>
            </StackPanel>
        </Grid>


Tu voies le commentaire "ici" que j'ai ajouté, il montre un stackpanel vide.
Sur une ligne et correctement indenté ça saute aux yeux mais dans ton "bordel" je suis passé à coté à chaque lecture.

Donc au final, ton menu ne se trouve pas dans le stackpanel qui s'appelle SlMenu mais dans le grid. Or par défaut un grid mets tous ses composants au milieu les un sur les autres.

Il faut donc que le stackpanel "ici" se termine après les 2 labels et que le stackpanel "SlMenu" se termine juste avant le grid

J'ai mis des commentaires pour signaler les changement

        <Grid x:Name="GridOverlay" IsVisible="False">
            <StackPanel Background="White" x:Name="SlMenu">

                
                
                <StackPanel Background="#FA6400" Margin="0">  <!--là on enlève le / -->
                    
                    <!--A partir d'ici on augmente l'indentation d'une tabulation jusqu'au prochain commentaire-->
                    
                    <Label Content="Bienvenue" Margin="20,0,20,5"/>
                    <Label x:Name="LblUsername" Content="UserName"/>
                </StackPanel>

                <StackPanel  Orientation="Horizontal" Margin="20,20,0,10">
                    <Image Source="order.png" Height="30" Width="30"/>
                    <Label Content="Mes Commandes" Foreground="#2C2C2C" Height="50" FontSize="20"/>
                </StackPanel>

                <StackPanel Orientation="Horizontal" Margin="20,30,0,20">
                    <Image Source="carticon.png"
                                       Height="30"
                                       Width="30"/>
                    <Label Content="Carte" Foreground="#2C2C2C" Height="50" FontSize="20"/>
                </StackPanel>

                <StackPanel Orientation="Horizontal" Margin="20,40,0,30">
                    <Image Source="contact.png" Height="30" Width="30"/>
                    <Label Content="Contact" Foreground="#2C2C2C" Height="50" FontSize="20"/>
                </StackPanel>

                <StackPanel Orientation="Horizontal" Margin="20,50,0,40">
                    <Image Source="logout.png" Height="30" Width="30"/>
                    <Label Content="Deconnecter" Foreground="#2C2C2C" Height="50" FontSize="20"/>
                </StackPanel>
            <!--Et on ferme ici en ajoute une balise de fin de stackpanel-->
            </StackPanel>
        </Grid>
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
13 août 2021 à 11:53
PS en anglais "Cart" veut dire "Caddie" ou "Chariot".
Carte se traduit par "Card"
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021 > Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023
13 août 2021 à 13:07
voila sa me donne sa
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
13 août 2021 à 13:10
Tu pourrais me suggerer un gar qui s'y connait en xaml stp?
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
13 août 2021 à 13:40
voila sa me donne sa
et où est la capture?

Tu pourrais me suggerer un gar qui s'y connait en xaml stp?
sur CodeS SourcesS, actuellement (soit depuis plusieurs mois) je suis le seul....
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
14 août 2021 à 13:37
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021 > momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
14 août 2021 à 13:53
19 erreur
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
14 août 2021 à 14:40
Ok, donc. J’ai passé une heure à chercher de mon côté, à transcrire pour que ce soir compatible de xaml sans Xamarin et surtout à rédiger un message qui explique comment j’ai fait pour que toi tu comprennes ce qu’il te faut changer chez toi.
Et toi, tu ne lis pas et tu copies colle bêtement.
Je peux comprendre que je n’ai été suffisamment clair et dans ce cas que tu poses des questions, mais un bête copier coller sans réfléchir non….

Donc tu lis, tu cherches à comprendre et on verra ensuite
0
momz Messages postés 11 Date d'inscription jeudi 12 août 2021 Statut Membre Dernière intervention 15 août 2021
15 août 2021 à 09:13
Tu as besoin d'expliquer clairement.
bien evidement que je peux pas comprendre si tu m'as pas dis que y'a pas de xamarin. Changer quoi ? rien de tous sa n'est définit ? Merci quand meme d'avoir passer une heure .
tu poses des questions dans la mesure ou tu as des details.
0
Whismeril Messages postés 18783 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 novembre 2023 645
15 août 2021 à 10:17
Bonjour

quand tu t'es inscrit, tu as été invité à accepter les règles de ce forum. Si tu ne les a pas lues, tant pis tu y es contraint quand même.

L'une d'elle dit que tu ne trouveras pas de solution toute faite, qu'il faudra y mettre du tien et que ça se voit. La raison est simple, tu retiendras mieux ce que tu as compris par toi même que ce que tu appliqueras bêtement sans réfléchir (comme copier coller un code qui n'est pas compatible alors que c'est écrit qu'il n'est pas compatible....)

Là clairement, si tu y mets du tien, ça ne se voit pas.

Les xaml de Xamarin et de WPF ne sont pas compatibles ok, mais ça reste très proche.
Le xaml est dérivé du xml, il se compose donc de balises et d'attributs.
Les balises sont utilisées pour les contrôles et les attributs pour leurs propriétés.

Je t'ai expliqué (il suffit de lire le message) que j'ai changé un contrôle (une balise) par un autre chacun n'existant pas dans le "monde" de l'autre et aussi renommé ou supprimé des propriétés (des attributs). Le seul interêt pour moi était d'enlever les messages d'erreurs "parasites" (Le type StackLayout est introuvable, ou encore La propriété HeightRequest est introuvable) et de ne garder que ceux qui expliqueraient ton problème.
Mais en fait, ceux qui expliqueraient n'existent pas. Il n'y avait donc pas de problème de syntaxe, cela dit je m'en doutais. Sauf à avoir changé le comportement de ton EDI, avec des erreurs de syntaxe ça ne devrait pas compiler.

J'ai donc rangé, c'est à dire
  • toute balise sans enfants et avec peu d'attributs (moins de 2 fois la largeur de l'écran) sont écrites sur une seule ligne
    <Balise> Attribut1="truc" Attribut2="machin" Attribut3="chose"/>
  • toute balise sans enfants et avec trop d'attributs peut s'écrire sur plusieurs lignes, mais avec une indentation correcte et une balise de fermeture pour bien marquer la fin
    <Balise>
        Attribut1="truc"
        Attribut2="machin"
        Attribut3="chose"
    </Balise>
  • Pour les balises avec enfants, si possible écrire les attributs sur une seule ligne. Les enfants doivent être correctement indentés et suivre les règles précédentes. Bien sûr la balise mère est clairement fermée
    <Balise> Attribut1="truc" Attribut2="machin" Attribut3="chose">
        <Enfant1 Attribut1="truc" Attribut2="machin" Attribut3="chose"/>
        <Enfant2
              Attribut1="truc"
              Attribut2="machin"
              Attribut3="chose"
        </Enfant2>
        <Enfant3 Attribut1="truc" Attribut2="machin" Attribut3="chose">
              <Enfant4 Attribut1="truc" Attribut2="machin" Attribut3="chose"/>
       </Enfant3>
    </Balise>


Et c'est là que j'ai trouvé et je t'ai expliqué comment j'ai corrigé ma version de xaml.

Maintenant, à toi d'essayer de faire le cheminement inverse, en comparant ton code et le mien, et te disant bien que les attributs n'ont rien à voir avec le problème et que la balise TrucWPF correspond chez toi à TrucXamarin.

Et garde bien à l'esprit qu'avec un code correctement rangé, tu n'aurais peut-être pas fait cette erreur. Dans la négative, tu l'aurais sans doute trouvée tout seul. Dans la négative, je l'aurais vue rien qu'en lisant ton code sur le site je n'aurais pas eu besoin d'essayer de te faire comprendre que ton bazar est à l'origine de ton erreur.
0
Rejoignez-nous