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 Button Content Width


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut XAML Button Content Width
    Bonjour à tous,

    Voila, je bloque sur un petit problème de taille, je souhaite ajouter un content spécial à mon bouton, dans ce cas : un texte et une ou plusieurs images, mais voila, mon image doit se situer tout à gauche du bouton.

    Actuellement, la grid situé dans le content prend la taille de son contenu (image + texte) alors que j'aimerais qu'il prenne toute la taille du bouton et ainsi que mon text soit centré et mon image collé à gauche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Button Margin="0 16 0 0" Width="Auto">
                <Button.Content>
                    <Grid HorizontalAlignment="Stretch" Background="#ff00ff">
                        <Image Source="Images/actualiser.png" Stretch="None" HorizontalAlignment="Left" />
                        <TextBlock TextWrapping="Wrap" Text="Loenix" VerticalAlignment="Center" Margin="1,10,0,10" HorizontalAlignment="Center" />
                    </Grid>
                </Button.Content>
            </Button>
    Si vous avez des questions, je reste à votre disposition et je tiens si possible à ce que la configuration reste côté XAML (pas de code C#).

    Merci à tous d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,
    Vous pouvez découper votre grille en définissant deux colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Button>
        <Button.Content>
            <Grid Background="#ff00ff">
    	    <Grid.ColumnDefinitions>
    		<ColumnDefinition Width="*"/>
    		<ColumnDefinition Width="Auto"/>
    	    </Grid.ColumnDefinitions>
    	    <Image Grid.Column="0" Source="Images/actualiser.png" Stretch="None"/>
                <Label Grid.Column="1" Content="Loenix" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
    	</Grid>
        </Button.Content>
    </Button>

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Re bonjour,

    Merci de votre réponse, toutefois j'y avais pensé mais cela ne résoud pas le problème étant donné que c'est la Grid qui ne s'étend pas dans le content du bouton.

    Globalement, j'ai un stackpanel et dedans des boutons, les boutons prennent bien la taille de la fenetre (du stack) mais le content non (c'est pour sa que j'ai mis un background à la grid, pour voir jusqu'ou elle s'étent).

    Voila tout le code, rien de plus :
    Code : 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
        <StackPanel Orientation="Vertical">
            <Button Content="Synchronier" Click="Button_Click_1" HorizontalContentAlignment="Center" VerticalAlignment="Top">
     
            <Button>
                <Button.Content>
                    <Grid Background="#ff00ff">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Image Grid.Column="0" Source="Images/actualiser.png" Stretch="None"/>
                        <Label Grid.Column="1" Content="Loenix" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
                    </Grid>
                </Button.Content>
            </Button>
     
        </StackPanel>
    </UserControl>
    Merci quand même =), j'espère que j'ai été clair dans mes propos. En gros que le background de la grid prennent tout le bouton (sa résoudrait mon problème ^^)

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonsoir,
    Je n'avais pas tout bien compris

    Essayez avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Button VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
        <Button.Content>
            <Grid Background="#ff00ff">
    	    <Grid.ColumnDefinitions>
    		<ColumnDefinition Width="*"/>
    		<ColumnDefinition Width="Auto"/>
    	    </Grid.ColumnDefinitions>
    	    <Image Grid.Column="0" Source="Images/actualiser.png" Stretch="None"/>
    	    <Label Grid.Column="1" Content="Loenix" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
    	</Grid>
        </Button.Content>
    </Button>

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Bonjour,

    Merci beaucoup de votre réponse, je dirais pas que sa a completement résolu mon problème mais en même temps je me suis rendu compte que je n'avais pas donné toutes les informations.

    Votre réponse ma orienté sur le : VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"

    En réalité, j'avais fais un style particulier pour les boutons, et mon HorizontalContentAlignment etait en center, sauf que les styles sont appliqués après les propriétés initiales, donc j'avais beau mettre HorizontalContentAlignment="Stretch" en property, il gardait la valeur "Center".

    En tout cas, merci de votre aide et résolu

    Have a nice week everybody

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

Discussions similaires

  1. Binding d'un Button.Content via un converter
    Par lutecefalco dans le forum Silverlight
    Réponses: 5
    Dernier message: 07/09/2011, 17h59
  2. Binding de Button.Content dans un DataTemplate
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 22/06/2011, 18h12
  3. Stretch une grid dans un button.content !
    Par neoncyber dans le forum Silverlight
    Réponses: 2
    Dernier message: 14/03/2011, 21h34
  4. WPF Window Content xaml
    Par Bernybon dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 30/03/2009, 19h17
  5. Réponses: 3
    Dernier message: 12/06/2008, 16h38

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