UWP ListView занимает больше доступной высоты

#c #xaml #winapi #uwp

#c #xaml #winapi #uwp

Вопрос:

В моем приложении FluentTorrent я хочу иметь список файлов внутри элемента listview, который содержит торрент. Таким образом, дочерним элементом listview является Pivot, который, среди прочего, имеет этот PivotItem:

 <PivotItem Header="Files" x:Name="PivotFiles">
  <Grid>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" x:Name="RowDef2" />
    </Grid.RowDefinitions>
    <ListView Grid.Row="0"  Grid.Column="0" x:Name="FilesView" SelectionMode="Extended" ScrollViewer.VerticalScrollBarVisibility="Visible" />
  </Grid>
</PivotItem> 
....
  

Проблема в том, что этот файловый список, содержащий высоту listview, превышает доступную высоту, когда в торрент-файле слишком много файлов. Нет полосы прокрутки, поэтому многие файлы не видны (видны только те, которые соответствуют пространству, занимаемому высотой всего окна).

Есть ли способ сообщить элементу listview (StackPanel), что его доступная высота должна быть автоматически скорректирована? Основной ListView в любом случае занимает всю высоту HWND.

Ответ №1:

Вы могли бы попытаться принудительно установить высоту строки вашей сетки:

 <Grid.RowDefinitions>
  <!-- full size row -->
  <RowDefinition Height="*" x:Name="RowDef2" />
</Grid.RowDefinitions>
  

— отказ от ответственности:
Я не совсем уверен, поскольку это может зависеть от макета вашей полной страницы.