Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#/WPF] Faire apparaitre un élément au dessus

Au dessus d'autres éléments comme s'il flottait

Sujet résolu
    9 novembre 2017 à 17:35:49

    Bonjour,

    Je développe depuis peu en utilisant les WPF. Le XAML est nouveau pour moi et j'essaye d'en comprendre un peu le fonctionnement.

    Aujourd'hui, je me suis mit au défi de réaliser un petit Navigateur web pour m'exercer.

    J'ai actuellement ce code-ci :

    <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="3*" />
                    <RowDefinition Height="5" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                
                <WebBrowser Name="com_browser" Grid.Row="0" Source="http://google.fr" Navigated="com_browser_Navigated"/>
                <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
                <Grid Grid.Row="2">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="3*" />
                        <RowDefinition Height="30" />
                        <RowDefinition Height="10"/>
                    </Grid.RowDefinitions>
                    <ScrollViewer Name="com_scroll_text" Grid.Row="0">
                        <TextBlock Name="com_text"  TextWrapping="Wrap" FontSize="15" Foreground="DarkGray" Margin="10 0 0 0"/>
                    </ScrollViewer>
                    <TextBox Name="com_commande_texte" Grid.Row="1" FontSize="15" Padding="5 0 0 0" PreviewKeyDown="EntreeAppuyee" Foreground="DodgerBlue" TextChanged="ComTexteChange" LostFocus="FocusPerdu" LostKeyboardFocus="KeyboardFocusPerdu"/>
                    <ProgressBar Grid.Row="2" Name="com_progress" Value="0" Height="10" BorderThickness="0"></ProgressBar>
                </Grid>
            </Grid>

    Comme vous pouvez le voir, j'ai ma fenetre qui est scindée en 2 par un gridsplitter. C'est la partie du "Web Browser" à laquelle je m'intéresse.

    Je cherche à ajouter une fenetre de favoris qui apparaitrait par une animation (ça je sais faire), mais au dessus du web browser (à la façon du material design).

    En clair, j'aimerai ajouter, par exemple, un ListView flottant au dessus de mon web browser.

    J'ai cherché sur internet et une idée en est ressortie : mettre l'élément sur la même ligne (Grid.Row="0") mais cela ne fonctionne pas ! Impossible de voir mon ListView lorsque je le fait malgré qu'il apparaisse bien sur le concepteur...

    Avez-vous des idées afin de réaliser cela ?

    Cordialement,

    Julien

    EDIT : Je viens de penser aux popup, mais ce n'est pas réellement ce que je voudrai... Je pense.

    -
    Edité par jule04 9 novembre 2017 à 17:45:31

    • Partager sur Facebook
    • Partager sur Twitter

    Site personnel : Julien Gidel - AutoMatePHPresentation

      9 novembre 2017 à 18:05:11

      Hello,

      Regarde du côté des Z-Index de tes éléments pour savoir qui est au-dessus ou en-dessous de qui.

      • Partager sur Facebook
      • Partager sur Twitter
      Si un message vous a aidé, n'oubliez pas le +1 et de passer votre sujet en "Résolu" ! :)
        9 novembre 2017 à 18:42:52

        Bonjour,

        Merci de ton aide. Malheureusement, même avec les ZIndex, impossible de le faire passer au dessus. J'ai essayé avec un TextBlock.

        Pourtant, il apparait bien sur la vue du concepteur, mais pas à l’exécution... C'est vraiment bizarre. (Le ZIndex change bien au niveau du concepteur, mais pas dans l'execution)

        EDIT : J'ai l'impression que cela viens du Webbrowser car même quand je met une popup par dessus, l'affichage bug et ne laisse pas apparaître la popup par dessus le Webbrowser

        EDIT 2 : Plusieurs recherches m'ont mené au fait que le Web Browser est un composant Winforms et donc un "faux ami". Or les composants Winforms passent TOUJOURS au dessus de tous. C'est la règle...

        -
        Edité par jule04 9 novembre 2017 à 20:25:21

        • Partager sur Facebook
        • Partager sur Twitter

        Site personnel : Julien Gidel - AutoMatePHPresentation

        [C#/WPF] Faire apparaitre un élément au dessus

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown