J'ai une page WPF avec des TextBox de saisie de données et elles ont l'air beaucoup plus grandes que les polices de caractères. Qu'est-ce qui détermine la hauteur de la zone de texte? y a-t-il un moyen de les écraser?Les zones de texte WPF sont trop grandes
La zone de texte devient de plus en plus petit en fonction de la taille de la police affiche (donc je ne veux pas définir directement la propriété de hauteur si je peux l'aider.
Voici un exemple de ce que je veux dire ...
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
<Style x:Key="LabelStyle" TargetType="Label">
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
</Page.Resources>
<StackPanel>
<WrapPanel>
<Label Style="{StaticResource LabelStyle}" Content="{Binding ActualHeight, RelativeSource={RelativeSource Self}}"/>
<TextBox Style="{StaticResource TextBoxStyle}" Text="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Mode=OneWay}"/>
</WrapPanel>
<WrapPanel>
<Label Style="{StaticResource LabelStyle}" Content="{Binding ActualHeight, RelativeSource={RelativeSource Self}}"/>
<TextBox Style="{StaticResource TextBoxStyle}" Text="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Mode=OneWay}"/>
</WrapPanel>
</StackPanel>
</Page>
Si vous regardez la taille, vous verrez l'étiquette est un peu plus grand que la zone de texte. Modification du VerticalAlignment sur la zone de texte en haut en fait la même taille. en tant que mesure provisoire, je viens de mettre une marge sur l'étiquette à -2
Bien sûr, il remplit l'espace du conteneur, la question est pourquoi fait-il l'espace de conteneur si grand? Il semble que quand il mesure les enfants pour la taille, si l'étiquette a un VerticalAlignment différent de la zone de texte alors le dimensionnement est également un peu différent. – gimpy
Salut @jifman, j'ai édité ma réponse pour vous fournir plus de détails. Expérimentez avec Kaxaml, en utilisant différentes couleurs d'arrière-plan sur les différents éléments afin que vous puissiez voir ce que font les éléments autrement invisibles. J'espère que cela pourra aider. –