C# 如何将位于堆栈面板内的wpf数据网格锚定到主窗口的固定距离';这是四个角
我有我的雇主给我的以下wpf布局。它使用多个嵌套的堆栈面板。 我试图锚定一个数据网格,它位于堆栈面板内,与主窗口的四个角保持固定距离。每当网格包含数据时,其中一些数据由于父窗口的大小而被隐藏,它应该显示滚动条,如果不需要滚动条,滚动条必须消失C# 如何将位于堆栈面板内的wpf数据网格锚定到主窗口的固定距离';这是四个角,c#,wpf,datagrid,wpfdatagrid,stackpanel,C#,Wpf,Datagrid,Wpfdatagrid,Stackpanel,我有我的雇主给我的以下wpf布局。它使用多个嵌套的堆栈面板。 我试图锚定一个数据网格,它位于堆栈面板内,与主窗口的四个角保持固定距离。每当网格包含数据时,其中一些数据由于父窗口的大小而被隐藏,它应该显示滚动条,如果不需要滚动条,滚动条必须消失 我将数据网格和堆栈面板的宽度设置为“自动”,以便它填充宽度,并使水平和垂直滚动条按我所希望的方式运行。但是网格没有所需的高度 但当我尝试将数据网格的“高度”属性设置为“自动”时,水平和垂直滚动条都会消失,从而导致隐藏数据。 我尝试将“数据网格高度”属性
我将数据网格和堆栈面板的宽度设置为“自动”,以便它填充宽度,并使水平和垂直滚动条按我所希望的方式运行。但是网格没有所需的高度
但当我尝试将数据网格的“高度”属性设置为“自动”时,水平和垂直滚动条都会消失,从而导致隐藏数据。 我尝试将“数据网格高度”属性设置为固定大小,并在调整窗口大小时进行更新,但滚动条仍然隐藏。如何解决此问题
<UserControl x:Class="WpfApplication1.UserControl1"
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="441" d:DesignWidth="300">
<Grid>
<StackPanel Margin="0" Name="stackPanel1">
<ListBox Height="100" Name="listBox1" Width="253" />
<Button Content="Button" Height="23" Name="button1" Width="256" Click="button1_Click" />
<StackPanel Name="stackPanel2">
<StackPanel Height="34" Name="stackPanel3" Width="249" />
<DataGrid AutoGenerateColumns="False" Name="dataGrid1" Height="282" />
</StackPanel>
</StackPanel>
</Grid>
</UserControl>
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:WpfApplication1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="WpfApplication1.MainWindow"
Title="MainWindow" Height="502" Width="525" StateChanged="Window_StateChanged">
<Grid Margin="0">
<my:UserControl1 x:Name="userControl11" Loaded="userControl11_Loaded" />
</Grid>
</Window>
当您将项目放入垂直堆叠面板时,它们喜欢假装拥有无限的垂直空间。切换到指定网格
上的行,并将数据网格
放在其中一行中。当它在网格中时
知道它有多少可用空间,并且应该适当地显示滚动条。当您将项目放入垂直堆叠面板时
他们喜欢假装它们有无限的垂直空间。切换到指定网格
上的行,并将数据网格
放在其中一行中。当它在网格中时
它知道它有多少可用空间,并且应该适当地显示滚动条。我不理解StackPanel中的所有StackPanel内容。您只需在布局中使用网格:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ListBox Grid.Row="0" Height="100" Name="listBox1" Width="253" />
<Button Grid.Row="1" Content="Button" Height="23" Name="button1" Width="256" />
<StackPanel Grid.Row="2" Height="34" Name="stackPanel3" Width="249" />
<DataGrid Grid.Row="3" AutoGenerateColumns="False" Name="dataGrid1" />
</Grid>
还有一个空的StackPanelStackPanel 3
作为空格键似乎很尴尬。这就是WPF元素的属性。我不理解StackPanel中的StackPanel内容。您只需在布局中使用网格:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ListBox Grid.Row="0" Height="100" Name="listBox1" Width="253" />
<Button Grid.Row="1" Content="Button" Height="23" Name="button1" Width="256" />
<StackPanel Grid.Row="2" Height="34" Name="stackPanel3" Width="249" />
<DataGrid Grid.Row="3" AutoGenerateColumns="False" Name="dataGrid1" />
</Grid>
还有一个空的StackPanelStackPanel 3
作为空格键似乎很尴尬。这就是WPF元素的属性。请提供您当前拥有的布局的Xaml请提供您当前拥有的布局的Xaml谢谢您的回答,我应该指定布局是由雇主提供给我的,我必须按原样使用它。,您的解决方案是正确的,但在接受此答案之前,我会尝试找到布局代码的修复方法。感谢您的回答,我应该指定布局是由雇主提供给我的,我必须按原样使用它。,您的解决方案是正确的,但在接受此答案之前,我将尝试找到布局代码的修复方法。