Silverlight列表框,高度可变,适合内容

Silverlight列表框,高度可变,适合内容,silverlight,silverlight-4.0,listbox,height,Silverlight,Silverlight 4.0,Listbox,Height,如何在Silverlight中配置列表框以使其具有可变高度?答案如下:) 您指的是哪个高度?控件本身?还是列表框中的项目 如果参照的是控件的高度,默认情况下它设置为“拉伸”,因此它将相对于其父控件扩展到: <Grid Name="LayoutRoot" Height="500"> <ListBox /> </Grid> 如果希望列表框展开而不与其父项关联,请执行以下操作之一: 设置其垂直对齐=“顶部”: 或: 网格将相对于其内容展开,而不是

如何在Silverlight中配置列表框以使其具有可变高度?

答案如下:)


您指的是哪个高度?控件本身?还是列表框中的项目

如果参照的是控件的高度,默认情况下它设置为“拉伸”,因此它将相对于其父控件扩展到:

<Grid Name="LayoutRoot" Height="500">
   <ListBox />
</Grid>

如果希望列表框展开而不与其父项关联,请执行以下操作之一: 设置其垂直对齐=“顶部”:


或:


网格将相对于其内容展开,而不是相对于其父级展开。您还可以使用绑定到height属性的转换器,或者在xaml的codebehind中设置高度

如果您正在谈论列表框的内容,请创建一个ItemTemplate。ItemTemplate将指定如何显示每个内容

您还可以设置itemspanel,这将指示列表的显示方式。
您可以使用Stackpanel/WrapPanel。

请为您的问题添加更多说明
<Grid Name="LayoutRoot" Height="500">
   <ListBox />
</Grid>
<Grid Name="LayoutRoot" Height="500">
   <ListBox VerticalAlignment="Top" />
</Grid>
<Grid Name="LayoutRoot" Height="500">
   <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="*" />
   </Grid.RowDefinitions>
   <ListBox VerticalAlignment="Top" Grid.Row="0" />
</Grid>