WPF DataGrid滚动条

Jay*_*Jay 4 c# wpf xaml datagrid scrollbar

我正在尝试在必要时使WPF DataGrid显示滚动条.您可以在下面看到我的用户控件的基本XAML代码:

<Grid x:Name="Data" Grid.Column="0" VerticalAlignment="Stretch" Height="Auto" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Expander Header="Route Setup" Grid.Row="0" VerticalAlignment="Top" Background="White">
</Expander>
<Expander Header="Select Locations" Grid.Row="1" VerticalAlignment="Top" Background="White">
</Expander>
<DataGrid Grid.Row="2" ItemsSource="{Binding Locations, Mode=TwoWay}" Height="Auto" AutoGenerateColumns="False" ScrollViewer.CanContentScroll="True" 
    ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

这不起作用,当DataGrid超出可用空间时,我看不到任何scroolbars.我已经尝试在我的DataGrid周围使用滚动视图,但这并没有改变任何东西.

更新

知道usercontrol加载到LeftRegion具有以下标记的shell中可能很重要:

    <Grid x:Name="LayoutRoot">
    <Grid.ColumnDefinitions >
        <ColumnDefinition Width="*" MinWidth="400" MaxWidth="600"/>
        <ColumnDefinition Width="9" />
        <ColumnDefinition Width="*" MinWidth="300" />
    </Grid.ColumnDefinitions>
    <GridSplitter x:Name="MainSplitter" HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch" Grid.Column="1"
        Margin="0" Width="9" Style="{DynamicResource gridSplitterVerticalStyle}"/>
    <ItemsControl Name="LeftRegion" Grid.Column="0" Background="Azure" Height="Auto" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"  cal:RegionManager.RegionName="LeftRegion">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
    <ItemsControl  Name="RightRegion" Height="Auto" Background="DarkGreen"  VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="2" cal:RegionManager.RegionName="RightRegion">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
</Grid>
Run Code Online (Sandbox Code Playgroud)

最好的祝福

松鸦

Mar*_*art 11

在名为"Data"的网格中,Height="Auto"从第三个中删除RowDefinition.至少有一行必须具有"*"高度(这是默认值)才能占用剩余的可用空间.