我有一个ScrollViewer,它包含很多内容(数据网格,堆栈面板,文本框,标签等等),在它之外我想添加一个按钮(PRINT),按钮是重要的不属于ScrollViewer。我的目标是我的屏幕的前90%是滚动查看器,而底部的10%是一个“冻结的面板”,它总是显示PRINT按钮,这在最大化和最小化时应该保持为真。
在遇到问题之后'属性内容设置多了一次'我意识到我需要将我的ScrollViewer和Button添加到另一个容器中,到目前为止,唯一似乎有效的是GRID - 但老实说如果您有任何其他建议我阅读此内容后我会接受建议,我只使用GRID,因为它似乎几乎给了我想要的东西。
这是我现在的代码:
[Code]
<Window DataContext="{Binding PrintView, Source={StaticResource Locator}}" Width="900">
<Grid Height="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer Name="PrintView" Grid.Row="0" Height="Auto">
<StackPanel>
... a LOT of stuff ...
</StackPanel>
</ScrollViewer>
<Button Content="Print"
Margin="0,20,0,20"
Height="50"
Width="150"
FontSize="24"
FontWeight="Bold"
Grid.Row="1"
/>
</Grid>
</Window>
[Code]
当这样完成时我的ScrollViewer没有滚动条,所以我看到第一页但是我无法向下滚动,也没有看到PRINT按钮 一个有趣的测试是改变以下内容:
<ScrollViewer Name="Apercu" Grid.Row="0" Height="600">
现在我再次看到我的滚动条(并且我可以滚动)并且我的PRINT按钮是它并且始终可见(这几乎是完美的)但是当我最大化我的窗口时,ScrollViewer保持600的高度,因此它没有实际上最大化(PRINT按钮下方的所有内容都只是白色)。
有什么想法吗?有没有其他方法可以指定我的高度,或者我应该使用不同的控件(不是GRID)? 谢谢,
答案 0 :(得分:3)
发现它......
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
从ScollViewer中删除高度