【发布时间】:2018-01-31 22:54:56
【问题描述】:
我有这个屏幕,用户可以更改高度,基于此,我希望我的ScrollViewer 在需要时显示滚动条,但它始终保持相同大小。
请注意,只有父网格的第二行会更改大小 (*),并且基于该大小我想要我的 ScrollViewer 大小,并基于 ScrollViewer 内的网格内容(通过动态添加代码)滚动条应该显示。
<Grid Style="{StaticResource PopupBody}">
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<!-- Header Panel -->
<StackPanel x:Name="PopupHeader"
Grid.Row="0">
<Label x:Name="PopupTitle"
Style="{StaticResource PopupTitle}"
Content="Column Updatable Detail"/>
</StackPanel>
<!-- Body Panel -->
<DockPanel x:Name="PopupBody"
Grid.Row="1"
Margin="10,10,10,0" Height="350" VerticalAlignment="Top">
<StackPanel DockPanel.Dock="Top" Margin="{StaticResource MarginSmallHorizontal}">
<Grid Margin="{StaticResource MarginSmallVertical}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="250" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
(... Hidden to be more readable ... )
<ScrollViewer Grid.Row="1" Grid.ColumnSpan="3"
VerticalScrollBarVisibility="Auto"
CanContentScroll="True">
<Grid x:Name="gridData"
ShowGridLines="True"
Margin="0,0,0,0" >
</Grid>
</ScrollViewer>
</Grid>
</StackPanel>
</DockPanel>
<!-- Footer Panel -->
<Border Grid.Row="2"
Style="{StaticResource FooterBorder}">
<StackPanel x:Name="FooterPanel"
Style="{StaticResource FooterPanel}">
<Button x:Name="CancelButton"
Content="Close"
Style="{StaticResource FooterSecondaryButton}"
Click="OnCancelClicked"/>
</StackPanel>
</Border>
</Grid>
有人可以帮忙吗?
【问题讨论】:
-
提示,Height="350" 不是动态的。
-
@Paparazzi 即使删除高度,也无法正常工作
-
代码有很多问题
-
@Paparazzi 感谢您的建设性信息
标签: wpf grid scrollviewer