如何用包裹的控件填充宽度?

时间:2016-06-28 17:28:09

标签: c# wpf

为了浪费更少的屏幕空间,我使用StackPanelLabel与其各自的TextBox结合两次,然后将其包裹在{{1}内}}。 (在此示例中,我仅指WrapPanelBranch控件。)

当屏幕足够大时,两个Phone控件并排放置并填充必要的宽度:

filled width

当屏幕缩小时,两个StackPanel控件被正确包裹,但在右侧留下空白:

empty width

下面是xaml的写作,以实现我迄今为止的目标。没关系StackPanel,因为它只影响红色轮廓和错误validatingTextBoxStyle

ToolTip

我尝试使用<WrapPanel VerticalAlignment="Stretch" Margin="0"> <StackPanel Orientation="Horizontal"> <Label Content="Branch" Margin="5,3" Width="40"/> <TextBox x:Name="textBox" Height="24" Margin="5,0,5,5" Style="{StaticResource validatingTextBoxStyle}" Text="{Binding BranchNumber, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" MinWidth="150"/> </StackPanel> <StackPanel Orientation="Horizontal"> <Label Content="Phone" Margin="5,3" Width="40"/> <TextBox x:Name="phone" TabIndex="2" Height="24" Margin="5,0,5,5" Style="{StaticResource validatingTextBoxStyle}" Text="{Binding PhoneNumberToSearch, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" MinWidth="150"/> </StackPanel> </WrapPanel> 添加Grid图层来调整两个ColumnDefinitions控件的大小,但这会取消包装功能。我已经尝试将StackPanel设置为HorizontalAlignment,但没有看到任何变化。我也在stretching a WrapPanel's child objects上调查了这个类似的问题,但Stretch不适合这种情况。

进一步调查,我确实注意到UniformGrid控件并没有像我想象的那样拉伸,如下面添加背景颜色所示:

background colors added

有没有办法拉伸这些控件,以便在它们被包裹后填充剩余的宽度?

0 个答案:

没有答案