【发布时间】:2019-01-03 12:45:51
【问题描述】:
我正在尝试制作一个简单的发票申请作为评估的一部分。我制作了一个包含所有已请求项目的列表框的界面。但是,当我添加太多项目时,列表框会流过窗口底部,我必须调整窗口大小以适应。
我尝试了一个停靠面板,并将堆栈面板分配给网格本身。如果我设置一个固定的高度,它似乎可以按预期工作。
这是列表框的 xaml:
<StackPanel Grid.Column="1" Grid.Row="0" ClipToBounds="True">
<ListBox Name="Shirts" HorizontalContentAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Visible" Margin="5" ClipToBounds="True">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding ShirtSize}" />
<Run Text="{Binding ShirtStyle}" />
<Run Text="{Binding ShirtColour}" />
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button Content="Print Invoice" Margin="5" ClipToBounds="True"/>
</StackPanel>
我希望代码能像这样工作(它的高度不是固定的,但它作为一个例子工作)。
它实际上是如何工作的。
【问题讨论】:
-
是我还是两个附加的图像相同?
-
ListBox和其他许多 wpf 控件一样,将根据 父容器允许 的内容调整 self 的大小,除非您设置其Width和/或Height.要动态限制高度,您可以将ListBox.Height(或MaxHeight)绑定到其他元素ActualHeight。