6
votes

Nouveau sur WPF, comment créerai-je ces barres de couleur dans ma forme?

Entrez la description de l'image ici

J'essaie de faire des formulaires de fenêtres de fossé et d'apprendre à utiliser WPF professionnellement à partir de maintenant. La photo ci-dessus est une forme faite sous des formulaires Windows que j'aimerais recréer dans WPF. P>

Voici le XAML que j'ai jusqu'à présent: P>

<Window x:Class="PizzaSoftware.UI.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="297" Width="466" >
    <Grid ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width=".20*"/>
            <ColumnDefinition />
            <ColumnDefinition Width=".20*"/>    
        </Grid.ColumnDefinitions>     
        <Rectangle Grid.Column="0">
            <Backcolor?
        </Rectangle>
    </Grid>
</Window>


1 commentaires

Vous pouvez également faire tout l'orange de fond et l'arrière-plan de la teneur en colonne centrale blanche.


5 Réponses :


7
votes

Oui, votre approche est bien bien. Définissez la couleur d'arrière-plan avec la propriété remplir : xxx


0 commentaires

3
votes
<Rectangle Grid.Column="0" 
           VerticalAlignment="Stretch" 
           HorizontalAlignment="Stretch" 
           Fill="Orange" />

2 commentaires

Les alignements sont inutiles, car il s'agit de la valeur par défaut.


Excellent point, +1. Pour quelqu'un de nouveau à WPF, c'est une chose très importante à noter, alors je vais le laisser.



3
votes

Définissez l'arrière-plan de la fenêtre sur votre couleur orange. Ensuite, réglez l'arrière-plan de la grille sur blanc, réglez la largeur de la grille de sorte qu'elle laisse de l'espace de chaque côté et définissez les grilles horizontallignement au centre.

<Windows ....
    Background="Orange>
  <Grid Background="White" HorizontalAlignment="Center" Width="300">
  ...
  </Grid>
</Window>


1 commentaires

Ajouter des rectangles dans la grille ajoutez plus d'éléments dans l'arbre visuel. Bien que cet exemple ne soit pas complexe en premier lieu, je préconise toujours en utilisant moins d'éléments dans l'arbre visuel.



0
votes

Je sauterais le rectangle et réglez la couleur d'arrière-plan sur la grille elle-même, puis réglez les couleurs sur des composants dans la grille.

<Grid Background="Orange">


1 commentaires

Ou vous pouviez aller avec @joel Lucsy et le mettre sur la fenêtre, ce qui pourrait même vous convenir mieux.



0
votes

Vous pouvez définir la propriété arrière-plan code> de votre grille vers orange, puis ajoutez votre commande dans la colonne du milieu et définissez son arrière-plan code> propriété sur blanc. Voici un exemple de code:

<Window x:Class="PizzaSoftware.UI.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="297" Width="466" 
        Height="297"
        Width="466">
    <Grid ShowGridLines="True" Background="Orange">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width=".20*"/>
            <ColumnDefinition />
            <ColumnDefinition Width=".20*" />
        </Grid.ColumnDefinitions>

        <!--Control with white background in second column-->
        <GroupBox Background="White" Grid.Column="1">
            <!-- Groupbox content here-->
        </GroupBox>
    </Grid>
</Window>


0 commentaires