2010-02-24 56 views

回答

5

我认为当你说“调整大小”时,你的意思是你想要在两个方向拉伸物品。采取默认的列表框和舒展的项目水平,所有你需要的是:

<ListBox HorizontalContentAlignment="Stretch"/> 

默认为左,这样所有的ListBoxItems最终被推到了左侧,大小分别基于其内容。

垂直伸展需要摆脱StackPanel用于对项目进行布局,因为它没有在Orientation方向调整其子项的概念。最简单的方法是使用UniformGrid,但是您可能需要更多的自定义项,具体取决于您希望项目相对于彼此的大小。您还需要使用VerticalContentAlignment设置(默认为Center)执行相同的操作。所以这里有两种方式可以拉伸物品:

<ListBox HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <UniformGrid Columns="1"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 
相关问题