IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Informations sur ce type de form


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Par défaut Informations sur ce type de form
    Bonjour à tous,

    Je voudrais réaliser une Form en WPF dans ce style :



    Ce qui m'intéresse c'est le fait de pouvoir avoir une form avec des angles arrondis, et que cette form possède les bouton réduire et fermer en gris ( comme présent sur la capture).

    J'ai déjà forcé la propriété WindowStyle à None.

    Il me reste à afficher le petit bouton agrandir, réduire, et a ce que les bords soit arrondis.

    Avez vous des infos à ce sujet ?

    Merci beaucoup

    Cordialement,

    Nixeus

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 97
    Par défaut
    Salut,

    Au préalable, il te faut deux images :
    - une pour le bouton de réduction (reduce.png)
    - une pour le bouton de fermeture (close.png)

    Côté xaml :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            WindowStyle="None"
            AllowsTransparency="True"
            Background="Transparent"
            Height="350" Width="525">
        <Border CornerRadius="10" Background="White">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition />
                </Grid.RowDefinitions>
     
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="5">
                    <Button x:Name="btReduce" Click="btReduce_Click" Margin="0,0,5,0">
                        <Button.Template>
                            <ControlTemplate>
                                <Image Source="reduce.png" Width="16" Height="17" />
                            </ControlTemplate>
                        </Button.Template>
                    </Button>
                    <Button x:Name="btClose" Click="btClose_Click">
                        <Button.Template>
                            <ControlTemplate>
                                <Image Source="close.png" Width="16" Height="17" />
                            </ControlTemplate>
                        </Button.Template>
                    </Button>
                </StackPanel>
            </Grid>
        </Border>
    </Window>

    Code behind :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void btClose_Click(object sender, RoutedEventArgs e)
            {
                Close();
            }
     
            private void btReduce_Click(object sender, RoutedEventArgs e)
            {
                WindowState = System.Windows.WindowState.Minimized;
            }

    Bon code.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Par défaut
    Humm

    Merci beaucoup de ta rapide aide, je vais tester cela dés que je rentre chez moi !

    En revanche, je ne comprend pas pourquoi on passe en mode transparence, je pensais qu'un windowstyle à None suffisait !

    En tout cas, WPF à l'air sacrémment puissant ! Je galère un peu pour le moment, mais j'ai hate de sortir la tête de l'eau et faire de belles IHM

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 97
    Par défaut
    Si tu ne mets pas Background="Transparent" sur ta fenêtre, celle-ci a un fond blanc par défaut.
    Du coup ton border blanc ne se voit plus et il n'y a pas de bords arrondis.
    Pour mieux comprendre teste en mettant Background="Red" sur ta fenêtre et tu verras

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Par défaut
    Me reste a faire des boutons y ressemblant et en 17px par 16px alors.

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Par défaut
    Je viens de faire ma form grâce à ton aide
    Je vais faire des boutons un peu plus petit par contre.

    Deux petites questions :

    * J'ai bien mes angles arrondis mais je vois légerement l'effet de transparence, est-ce normal ?

    * Comment autorisé le déplacement de ma fenêtre quand je clique dans le haut de ma form ?

    Merci encore

    Edit : Si je met la couleur de ma grid à blanc, je ne vois plus aucun arrondis, j'ai du mal à comprendre.

Discussions similaires

  1. [WD17] Information sur le type Image
    Par thierrybatlle dans le forum WinDev
    Réponses: 4
    Dernier message: 10/02/2012, 16h34
  2. Information sur AS400 TYPE 9401 S/N 44-43000
    Par milloz dans le forum AS/400
    Réponses: 6
    Dernier message: 11/06/2010, 20h27
  3. Réponses: 2
    Dernier message: 19/06/2008, 11h09
  4. Information sur une plate forme de développement
    Par QAYS dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 21/02/2006, 14h55
  5. informations sur le type interval dans interbase
    Par devalender dans le forum InterBase
    Réponses: 6
    Dernier message: 03/06/2004, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo