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 :

Composant étirable ?


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Par défaut Composant étirable ?
    Bonjour bonjour, c'est encore moi .
    Tout d'abord, merci de votre grande aide, vous avez été super efficace sur ma dernière question (ou c'est peut être moi qui ne l'ai pas été assez )

    Voilà, j'ai donc une nouvelle question. En fait, j'ai une fenêtre avec une grid coupé en trois:

    • Une partie pour un UserControl de menu
    • Une partie pour un TabControl qui contiendra des fenêtre de visualisation
    • Une partie avec une StatusBar


    Ma StatusBar est bloquée en bas avec le VerticalAligment="Bottom" et de même mon UserControl de menu en haut avec top. Mon problème est que je souhaiterai que mon TabControl entre les 2 reste fixé en haut au menu et en bas à la StatusBar quelque soit la taille de la fenêtre.

    Pour l'instant, si j'agrandis ma fenêtre, soit il flotte au milieu, soit il est fixé au menu et ne fait pas la totalité de la fenêtre .

    Merci de votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Par défaut
    Tu devrai peut être plutôt utiliser un DockPanel... Voici un exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <DockPanel LastChildFill="True">  
        <Border Background="Red" DockPanel.Dock="Top" Height="20"/>
        <Border Background="Green" DockPanel.Dock="Bottom" Height="20"/>
        <Border Background="Yellow"/>
      </DockPanel>
    La propriété LastChildFill permet justement de faire ce que tu veux

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Si tu n'as pas mis de valeur à la propriété Height de ton TabControl, ça devrait marcher comme tu le souhaites.
    Ou alors, il faut peut-être rajouter un VerticalAlignment="Stretch".

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    tu peux aussi utilisser les capacite de la grid
    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
    19
     
    <Grid x:Name="LayoutRoot">
    		<Grid.RowDefinitions>
    			<RowDefinition Height="50"/>
    			<RowDefinition Height="20"/>
    			<RowDefinition Height="20.793"/>
    			<RowDefinition Height="*"/>
    			<RowDefinition Height="20"/>
    			<RowDefinition Height="20"/>
    		</Grid.RowDefinitions>
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="30"/>
    			<ColumnDefinition Width="20"/>
    			<ColumnDefinition Width="22.2860825047105"/>
    			<ColumnDefinition Width="27.7139174952895"/>
    			<ColumnDefinition Width="0.954*"/>
    			<ColumnDefinition Width="20"/>
    			<ColumnDefinition Width="20"/>
    		</Grid.ColumnDefinitions>
    avec un * dans la definition ca peut s'agrandir sinon la taille est fixe
    on peux meme mixer la taille et *

    apres tu met tes elements dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="3"
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="*" />
                <RowDefinition Height="24" />
            </Grid.RowDefinitions>
            <StatusBar Grid.Row="2" Name="statusBar1" />
            <Rectangle Grid.Row="0" Name="usercontrol1" Stroke="Black" Fill="Beige"/>
            <Rectangle Grid.Row="1" Name="rectangle2" Stroke="Black" Fill="Aqua"/>
        </Grid>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Par défaut
    Et bien merci beaucoup, en combinant plusieurs des choses qui ont été dites, j'ai réussi à régler mon problème.

    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
     
    <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="130"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="20"/>
            </Grid.RowDefinitions>
     
            <Ribbon Grid.Row="0" VerticalAlignment="Top"/>
     
            <Desktops Grid.Row="1" VerticalAlignment="Stretch">
                <Desktop Header="hello"/>
            </Desktops>
     
            <StatusBar Grid.Row="2" VerticalAlignment="Bottom"/>
        </Grid>
    Et ainsi ensemble de Desktop s'étire en fonction de la fenêtre.

    Merci

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    en fait les codes
    VerticalAlignment="Top"
    VerticalAlignment="Stretch"
    et
    VerticalAlignment="Bottom"
    a priori ne servent a rien

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  2. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10
  3. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10
  4. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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