【发布时间】:2011-12-23 22:17:07
【问题描述】:
我的布局将随着主窗口大小的调整而变化。我面临的问题是,如您所见,数据网格从屏幕上消失了。如果最大化窗口,数据网格将随窗口调整大小,但继续离开屏幕。如何让它与父网格保持 20 的边距?
<Grid>
<StackPanel Orientation="Vertical">
<TextBox Height="170" Name="txtSQL" VerticalAlignment="Top" AcceptsReturn="True" TextWrapping="Wrap" Margin="20"/>
<Button Content="Run!" Height="23" HorizontalAlignment="Left" Name="btnRun" VerticalAlignment="Top" Margin="20,0,0,0" Width="75" Click="btnRun_Click" />
<Grid>
<my:DataGrid Name="dgResults" VerticalAlignment="Top" Margin="20" />
</Grid>
</StackPanel>
</Grid>
更新: 只是为了更具体。我在这里想要达到的效果是这样的:
当窗口第一次加载时,你会看到一个空白的数据网格,所以它只有大约 15 像素高。当您运行查询时,它将通过重新分配 itemssource 来填充数据网格。截至目前,当你这样做时,如果数据超过窗口大小,它将离开屏幕底部。我需要它只扩展到窗口底部然后启用滚动条。我可以通过将它包装在滚动查看器中来做到这一点,我确定。但是,当窗口调整大小时,数据网格需要随之调整大小。
我想知道设置是否与它有关。表单实际上是一个在框架中显示的 wpf 页面。
更新:
<Page x:Class="Hold_Database___Prototype_1.Views.SQL"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="304" d:DesignWidth="732"
Title="SQL" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit" AllowDrop="True">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="23" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox Height="170" Name="txtSQL" VerticalAlignment="Top" AcceptsReturn="True" TextWrapping="Wrap" Margin="20" Grid.Row="0"/>
<Button Content="Run!" Height="23" HorizontalAlignment="Left" Name="btnRun" VerticalAlignment="Top"
Margin="20,0,0,0" Width="75" Grid.Row="1" Click="btnRun_Click" />
<DockPanel Grid.Row="2">
<my:DataGrid Name="dgResults" Margin="20" />
</DockPanel>
</Grid>
</Page>
【问题讨论】:
-
HorizontalContentAllignment="Stretch" 并启用水平滚动条
-
这没有做任何事情;网格仍然离开屏幕底部。