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 № 1Jeś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>