我的Datagrid在一个ObservableCollection上有一个绑定,并且在对由EF获取的一些值进行分组后得到填充.
我的问题是,datagrid-height增长超出窗口大小.
有人知道如何得到这个固定的…我几乎自动死亡..:o
<UserControl x:Class="UltranizerV2.Views.Storage.InventoryList" 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"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"></RowDefinition> <RowDefinition Height="25"></RowDefinition> </Grid.RowDefinitions> <DockPanel Grid.Row="0" > <DataGrid ItemsSource="{Binding PresentableInventoryItems}" VerticalAlignment="Stretch" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="Produkttitel" Width="350" Binding="{ Binding ProductTitle}"/> <DataGridTextColumn Header="Sku" Width="100" Binding="{ Binding Sku}" /> <DataGridTextColumn Header="Menge" Width="60" Binding="{ Binding Quantity}" /> </DataGrid.Columns> </DataGrid> </DockPanel> <Label Grid.Row="1">Arsch</Label> </Grid> </UserControl>
解决方法
总结一下你的控制看起来很好,这表明这个问题在视觉树上.最有可能的InventoryList或其父母之一,它被放置在控件中,为孩子提供无限量的空间来增长,如StackPanel,ScrollViewer或Canvas.因为DataGrid可以增长以容纳所有项目,因此不可以看到滚动条.
删除该控件或将其替换为限制其子级大小的控件