0

私はGridを含むを持っていますListView

<Grid >
 <Grid.RowDefinitions>
  <RowDefinition />
    ...
  </Grid.RowDefinitions>
  <ListView Grid.Row="0">
   <ListViewItem >
    ...
   </ListViewItem>

   ...

 </ListView>
</Grid>

そしてListView、そのすべてのアイテムよりも背が高くなり、利用可能なすべてのスペースを取ります。

ListView含まれているすべてのものと正確に同じ高さにするにはどうすればよいですかListViewItems(つまり、高さをそれらの高さの合計に等しくする)?

4

1 に答える 1

2

HeightにまたはMinHeightプロパティを設定しない場合、これは自動的に発生するはずですListView

編集: ListViewが使用可能なすべてのスペースを占有している状況を解決するために、水平方向と垂直方向の配置を設定できます。この例では「中央」設定を使用しましたが、「左」または「右」も有効です。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <ListView Grid.Row="0" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center">
        <ListViewItem>Item 1</ListViewItem>
        <ListViewItem>Item 2</ListViewItem>
        <ListViewItem>Item 3</ListViewItem>
    </ListView>
</Grid>

別の可能な解決策は、ウィンドウにSizeToContentを設定することです。

ただし、ListViewをラップする複数の親コンテナがあり、これらのコンテナの配置またはサイズプロパティを手動で設定した場合、このソリューションは期待どおりに機能しない可能性があることに注意してください。

このリンクを見て、xamlでのレイアウトの仕組みについて詳しく理解することができます。

于 2013-03-07T05:44:07.797 に答える