10
votes

Alignement verticalement les étiquettes et textblocks en haut dans xaml

Comment puis-je aligner verticalement une étiquette code> code> et textblock code> sur top code> de sorte que leurs premières lignes de texte aligné?

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
    </Grid.RowDefinitions>
    <Label Grid.Column="0" VerticalAlignment="Top">Some Label:</Label>
    <TextBlock Grid.Column="0" VerticalAlignment="Top">Some text<TextBlock>
</Grid>


2 commentaires

Le code de la question est assez brisé. L'étiquette et le texte de texte sont à la fois dans la colonne 0, la rangée 0 et apparaissent les uns sur les autres. La balise "Fermeture" TextBlock est en fait une 2e TextBlock Ouverture de l'étiquette Je suppose que le code n'a pas été copié à partir d'un exemple de travail. (L'image de cette ancienne question est également cassée.) Testé 2021-07-17.


La file d'attente d'édition est pleine, mais Code de question corrigé: `` `<


3 Réponses :


21
votes

L'espace supplémentaire autour de l'étiquette provient de la propriété de rembourrage. Pour supprimer l'espace, vous pouvez définir explicitement la propriété de rembourrage sur "0" directement sur l'étiquette ou, bien sûr, définissez-la via un style.


3 commentaires

Il semble que le rembourrage d'une étiquette soit défini sur 5 par défaut, et une textblock est définie sur 0. Merci pour la réponse.


Le problème commence lorsque la taille de la police est différente entre les deux commandes.


Merci d'avoir dévoilé l'un des mystères du WPF à moi



0
votes

0 commentaires

1
votes
<TextBlock>
<InlineUIContainer BaselineAlignment="Top"><Label Content="Label"/></InlineUIContainer>
<InlineUIContainer BaselineAlignment="Top"><TextBlock>TextBlock Content</TextBlock>                 </InlineUIContainer>
</TextBlock>
HTH.

0 commentaires