У меня есть страница WPF с некоторыми вводами данных TextBoxes, и они выглядят намного больше, чем нужно шрифту. Что определяет высоту текстового поля? есть ли способ подхлестывать их?Текстовые поля WPF слишком большие
Текстовое поле становится все больше и меньше, в зависимости от размера шрифта он показывает (так что я не хочу, чтобы установить свойство высоты непосредственно, если я могу помочь ему.
Вот пример того, что я имею в виду ...
<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>
Если вы посмотрите на размер вы увидите ярлык немного больше, чем текстовое поле. Изменение VerticalAlignment на текстовое поле Top делает это тот же размер. в качестве временной меры я просто установить маржу метка до -2.
Конечно, он заполняет пространство контейнера, вопрос в том, почему он делает контейнерное пространство таким большим? Похоже, что когда он измеряет размерность для детей, если метка имеет другое значение VerticalAlignment из текстового поля, тогда размер также немного отличается. – gimpy
Привет @jifman, я отредактировал свой ответ, чтобы предоставить вам более подробную информацию. Поэкспериментируйте с этим в Kaxaml, используя разные цвета фона на разных элементах, чтобы вы могли видеть, что делают невидимые элементы. Надеюсь, это поможет. –