/ / GridViewColumnの幅をGridの幅と等しくする方法-.net、wpf、listview、layout

GridViewColumnの幅をGridの幅と同じにする方法 - .net、wpf、listview、layout

メインのアプリウィンドウに2つのListviewコントロールといくつかのボタンとテキストボックスで満たされた2X2グリッドがあります。以下は私のXAMLコードの一部です。

<Grid Name="Gd">

<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<ListView MinHeight="600" Grid.Column="0" Grid.Row="1" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module ID" />
</GridView>
</ListView.View>
</ListView>

<ListView MinHeight="600" Grid.Column="0" Grid.Row="2" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module Name" />
</GridView>
</ListView.View>
</ListView>

</Grid>

ここで苦労したのはグリッド列の幅に等しい幅を設定する方法を知っています。コードビハインドで行う必要がありますか?また、別の問題は、上記のコードでは、グリッドのサイズが変更される状況を処理できないことです。

理想的には、ListViewコントロールがグリッドのサイズが変更されるたびに、グリッド列とそれに応じて拡大/縮小します。 ColumnDefinition Settingsと関係があると思いますが、これはよくわかりません。

誰でも助けることができますか?どうもありがとう。

回答:

回答№1は1

ListViewを最初の列に配置する場合、列定義は次のようになります。

<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

Aslo、みんながすでに言ったように、設定 HorizontalAlignment="Stretch" 両方のための ListView コントロール


回答№2の場合は0

これを試して.... 両方のListViewの高さを同じにする場合は、rowdefinitionの高さを*として指定するか、auto .....を指定できます。

<Grid Name="Gd">

<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<ListView HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="0" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module ID"/>
</GridView>
</ListView.View>
</ListView>

<ListView HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="1" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module Name" />
</GridView>
</ListView.View>
</ListView>

</Grid>