/ / Jak ustawić szerokość GridViewColumn na szerokość siatki - .net, wpf, widok listy, układ

Jak uczynić szerokość GridViewColumn równą szerokości siatki - .net, wpf, listview, layout

Mam siatkę 2X2 wypełnioną 2 kontrolkami widoku listy oraz niektórymi przyciskami i polami tekstowymi w moim głównym oknie aplikacji. Poniżej znajduje się część mojego kodu 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>

Trudność, jaką tu mam, polega na tym, że tego nie robięumie ustawić szerokość równą szerokości kolumny siatki. Czy powinienem to zrobić w kodzie z tyłu? Innym problemem jest to, że powyższy kod nie może obsłużyć sytuacji, w której rozmiar siatki jest zmieniany.

Idealnie byłoby, gdyby formant ListView wypełniałSiatka kolumny i odpowiednio rozszerzaj / zmniejszaj, ilekroć zmienia się rozmiar siatki. Wydaje mi się, że ma to coś wspólnego z ustawieniami ColumnDefinition, których nie jestem pewien.

Czy ktoś może pomóc? Wielkie dzięki.

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli umieszczasz ListView w pierwszej kolumnie, definicje kolumn powinny wyglądać następująco:

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

Aslo, jak już powiedzieli chłopaki, ustawił HorizontalAlignment="Stretch" dla obu ListView sterownica


0 dla odpowiedzi nr 2

Spróbuj tego.... jeśli chcesz równej wysokości dla obu ListViews, możesz określić wysokość definicji wiersza jako * lub możesz podać 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>