gpt4 book ai didi

c# - 我如何让我的数据网格随窗口增长并保持利润率?

转载 作者:太空狗 更新时间:2023-10-29 23:17:16 31 4
gpt4 key购买 nike

关于我的布局的一切都将随着主窗口的大小调整而流动。我面临的问题是,如您所见,数据网格从屏幕上消失了。如果最大化窗口,数据网格将随窗口调整大小,但继续离开屏幕。我如何让它与父网格保持 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>

enter image description here

更新:只是为了更具体。我在这里要达到的效果是这样的:

当窗口首次加载时,您会看到一个空白的数据网格,因此它只有大约 15 像素高。当您运行查询时,它将通过重新分配项目源来填充数据网格。截至目前,当您这样做时,如果数据超过窗口大小,它将超出屏幕底部。我需要它只扩展到窗口底部然后启用滚动条。我可以通过将它包装在我确定的滚动查看器中来做到这一点。但是,当调整窗口大小时,数据网格需要随之调整大小。

我想知道设置是否与此有关。该表单实际上是一个显示在框架中的 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>

最佳答案

这个例子中的停靠面板是做什么用的?

尝试将 DataGrid 直接放在没有堆栈面板的单元格中。如果您要设置按钮高度,则将 set grid 设置为 auto。

还有,为什么给文本留这么大的空间?

    <Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<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" />
<my:DataGrid Grid.Row="2" <my:DataGrid Name="dgResults" Margin="20" />

然后还设置Horizo​​ntalAlignmentVerticleAlignmentHorizo​​ntalContentAlignmentVerticalContentAlignment = stretch

关于c# - 我如何让我的数据网格随窗口增长并保持利润率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621107/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com