У меня есть TextBox
элемент управления в пределах StackPanel
, у которого Orientation
установлено значение Horizontal
, но не может получить TextBox, чтобы заполнить оставшееся пространство StackPanel.WPF TextBox не заполняет StackPanel
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="180" Width="324">
<StackPanel Background="Orange" Orientation="Horizontal" >
<TextBlock Text="a label" Margin="5" VerticalAlignment="Center"/>
<TextBox Height="25" HorizontalAlignment="Stretch" Width="Auto"/>
</StackPanel>
</Window>
И это то, что он выглядит следующим образом:
Почему это TextBox не заполняя StackPanel?
Я знаю, что я могу иметь больше контроля с помощью управления Grid
, я просто смущен о макете.
Просто уточнить - LastChildFill по умолчанию установлен на «True» и установка HorizontalAlignment для растягивания для TextBox не оказывает никакого эффекта. :-) – Goblin
@Goblin: Да ... Я скопировал и вставил код OP, но забыл удалить «HorizontalAlignment». :) –
Серьезно, это по дизайну? Кажется странным, поскольку сам контроль, очевидно, охватывает всю ширину. Вы говорите, что область содержимого не обязательно такая же, как видимая область? –