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 :

XAML : un rectangles avec les coins arrondies en haut.


Sujet :

Windows Presentation Foundation

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 156
    Points : 173
    Points
    173
    Par défaut XAML : un rectangles avec les coins arrondies en haut.
    Est t'il possible de créer un rectangle avec les coins arrondies en haut, et les bords carrés en bas?

    Pour l'instant j'ai ça :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Rectangle StrokeThickness="1" Stroke="Gray" RadiusX="10" RadiusY="5" >
                <Rectangle.Fill>
                    <SolidColorBrush Opacity="0.7" Color="WhiteSmoke" />
                </Rectangle.Fill>
    </Rectangle>

    Il me semble que le RadiusX et RadiusY joue sur tout le rectangle.
    J'ai donc essayé donc de divisé mon rectangle en deux. La partie haute avec les arrondies et la parties basse rectangulaire, le problème c'est que les bordures généré étaient les bordures des deux rectangles donc ça ne résolvait pas mon problème.

    Quelqu'un a une idée de comment créer cette forme?

    Pour l'instant je vois pas, et mon amis google ne m'aide pas plus.

  2. #2
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,

    la propriété "radius" est un objet à part entière, pas seulement un double : ça fonctionne un peu comme avec "Margin".
    Exemple : Radius="5,5,0,0".

    Tu peux utiliser un objet Border par ex., lui affecter le Radius que tu veux, et même l'utiliser comme conteneur de ton rectangle.

    Bonne continuation

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par MetalGeek Voir le message
    Salut,

    la propriété "radius" est un objet à part entière, pas seulement un double : ça fonctionne un peu comme avec "Margin".
    Exemple : Radius="5,5,0,0".
    Tout à fait: il faut bien prendre garde au fait que chaque valeur correspond à l'arrondi d'un des angles/coins

    Tu peux utiliser un objet Border par ex., lui affecter le Radius que tu veux, et même l'utiliser comme conteneur de ton rectangle.

    Bonne continuation
    Plus simple: à partir du momet où tu as ta bordure, tu affectes son contenu (rien, grid, canvas, etc...): cela te fait ton rectangle aux bord arrondis

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 156
    Points : 173
    Points
    173
    Par défaut
    Tout à fait: il faut bien prendre garde au fait que chaque valeur correspond à l'arrondi d'un des angles/coins
    Non malheureusement.
    Le code ci dessous par exemple modifie les quatre coins.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            <Style x:Key="RectangleStyle" TargetType="Rectangle">
                <Setter Property="RadiusY" Value="5,5,0,0" />
                <Setter Property="RadiusX" Value="5,5,0,0" />
            </Style>
    Avec ces propriétés on peut transformer notre rectangle en ellipse.

    Plus simple: à partir du momet où tu as ta bordure, tu affectes son contenu (rien, grid, canvas, etc...): cela te fait ton rectangle aux bord arrondis
    Je vois toujours pas comment on peut faire pour avoir une partie avec les bords arrondie en haut et les bords carrés en bas.
    En faite on pourrait faire un grid à 3 colonnes, 3 lignes.

    case 0,0 l'arrondi ==> quel objet utilisé ??
    case 0,2 l'arrondi ==> quel objet utilisé ??
    case 2,0 carré ==> rectangle
    case 2,2 carré ==> rectangle

    Le border suivrait t'il l'arrondi des cases 0,0 et 0,2 je ne suis pas sur?

    Le but final étant d'avoir une fenêtre qui à un même background mais que à les bords bas carrés. En sachant que le tout doit avoir la même bordure et le même background.

    Je vais y réfléchir.

    Je sens que c'est un truc tout con à faire, je m'excuse d'avance de vous embêter avec ce problème.

  5. #5
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Je ne comprends pas exactement ce que tu veux faire.
    Par exemple si tu prends le code suivant pour une window :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
     
            <Border CornerRadius="50,50,0,0" BorderThickness="10" BorderBrush="Blue" Background="Blue"/>
     
    </Window>
    Tu as bien là un rectangle "arrondi" en haut et "carré" en bas, non ? Et tu peut mettre ce que tu veux dans Border, qui est un conteneur...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 156
    Points : 173
    Points
    173
    Par défaut
    C'est marrand ça!

    Les propriétés RadiusX et RadiusY ne réagissent pas du tout comme la propriétés CornerRadius du Border.

    Merci pour tout MetalGeek.

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par Archeone Voir le message
    Non malheureusement.
    Attention, je parlais de la Bordure: chaque coin de la bordure correspond à une valeur différente, ce qui te permet de spécifier des coins arrondis en haut par exemple mais pas en bas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une fenêtre JDialog avec les coins arrondis
    Par maxa88 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 11/05/2015, 13h05
  2. Les coins arrondis sur une couleur de fond de Table
    Par zooffy dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/07/2010, 13h56
  3. Diriger un rectangle avec les flèches
    Par visualk dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2008, 20h09
  4. probleme avec des coins arrondis
    Par witch dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 18/07/2007, 11h38
  5. [Débutant] Bouton avec les bords arrondis
    Par zwieback dans le forum Graphisme
    Réponses: 3
    Dernier message: 12/06/2006, 14h18

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