[英]Autoresize ListBox inside ScrollViewer
在我的應用程序中,我有一個Window
。 它包含左側菜單,標題和內容位置。
該內容正在動態加載-在那里放置了一個UserControl
。 這些UserControls
是多種多樣的。 從一個TextBlock
到相當復雜的頁面。 為了確保所有內容都是可見的,我必須用ScrollViewer
包裝它(我的意思是在MyWindow.xaml中)。 一切正常,直到需要在內容中放置ListView
為止。
或多或少的代碼看起來像這樣:
<ScrollViewer> // this is the wrapping viewer actually it's in a different file
<UserControl>
......
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<ListView ItemsSource="{Binding Entities}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Style="{StaticResource Value}" Text="{Binding WorkOrderNumber}"/>
<TextBlock Style="{StaticResource Value}" Text="{Binding ActionType}"/>
<TextBlock Style="{StaticResource Value}" Text="{Binding StartDate}"/>
<TextBlock Style="{StaticResource Value}" Text="{Binding StopDate}"/>
<Separator/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Whatever.. Grid.Row="0" Grid.Column="1"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Style="{StaticResource CustomButton}" Content="Previous" />
<Button Style="{StaticResource CustomButton}" Content="Current" />
<Button Style="{StaticResource CustomButton}" Content="Next" />
</StackPanel>
</Grid>
</UserControl>
</ScrollViewer>
結果是列表框沒有滾動條,並且變化很大。 滾動條僅在窗口的滾動查看器處。
因此,在我的UserControl中,我想要:
那可能嗎?
使用DockPanel而不是Grid。 DockPanel具有一個名為LastChhildFill的屬性。 默認情況下為true。 如果將ListBox設置為最后一個Child,它將填充所有空間:
<ScrollViewer>
<DockPanel>
<StackPanel DockPanel.Dock="Bottom"
Orientation="Horizontal"
HorizontalAlignment="Center">
<Button Style="{StaticResource CustomButton}"
Content="Previous" />
<Button Style="{StaticResource CustomButton}"
Content="Current" />
<Button Style="{StaticResource CustomButton}"
Content="Next" />
</StackPanel>
<ListView >
</ListView>
</DockPanel>
</ScrollViewer>
但是此設置使按鈕消失。 我的意思是它們始終位於列表框的底部。 因此,也許您需要刪除ScrollViewer 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.