WPF DataGrid不会在拖动时滚动

WPF DataGrid不会在拖动时滚动,wpf,scroll,scrollbar,wpfdatagrid,Wpf,Scroll,Scrollbar,Wpfdatagrid,我对WPF工具包中的WPF数据网格有一个奇怪的问题。当行数增加时,滚动条将正确显示,当您按下滚动条上的向上或向下箭头时,滚动将正常工作 当我尝试在datagrid上拖动滚动条时,问题出现了。我的页面周围有一个滚动查看器。当我在网格上单击并拖动滚动条时,它会滚动页面滚动条。如果滚动条未显示在页面上,则网格仍不会滚动。这有解决办法吗 非常感谢您在这个问题上的帮助 例如,在本例中,如果页面小于280,则拖动时滚动。但拖动滚动在网格上不起作用 <ScrollViewer ScrollViewer.

我对WPF工具包中的WPF数据网格有一个奇怪的问题。当行数增加时,滚动条将正确显示,当您按下滚动条上的向上或向下箭头时,滚动将正常工作

当我尝试在datagrid上拖动滚动条时,问题出现了。我的页面周围有一个滚动查看器。当我在网格上单击并拖动滚动条时,它会滚动页面滚动条。如果滚动条未显示在页面上,则网格仍不会滚动。这有解决办法吗

非常感谢您在这个问题上的帮助

例如,在本例中,如果页面小于280,则拖动时滚动。但拖动滚动在网格上不起作用

<ScrollViewer ScrollViewer.IsDeferredScrollingEnabled="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >
                    <DockPanel>
                        <dg:DataGrid HorizontalScrollBarVisibility="Auto" SelectionMode="Single" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="False" CanUserSortColumns="False" AutoGenerateColumns="False" RowHeaderWidth="17" ItemsSource="{Binding Path=OrderSearchVm}" IsReadOnly="True" MaxHeight="280" DockPanel.Dock="Top">
                            <dg:DataGrid.Columns>                                   
                                <dg:DataGridTextColumn Width="75" Header="Date" Binding="{Binding Path=OrderDate}" >
                                    <dg:DataGridTextColumn.ElementStyle>
                                        <Style TargetType="{x:Type TextBlock}">
                                            <Setter Property="TextWrapping" Value="Wrap" />
                                        </Style>
                                    </dg:DataGridTextColumn.ElementStyle>
                                </dg:DataGridTextColumn>
                                <dg:DataGridTextColumn Header="Type" Binding="{Binding Path=OrderType}" Width="45"/>
                                <dg:DataGridTextColumn Header="Shipping Name" Binding="{Binding Path=ShipToName}" Width="115">
                                    <dg:DataGridTextColumn.ElementStyle>
                                        <Style TargetType="{x:Type TextBlock}">
                                            <Setter Property="TextWrapping" Value="Wrap" />
                                        </Style>
                                    </dg:DataGridTextColumn.ElementStyle>
                                </dg:DataGridTextColumn>
                                <dg:DataGridTextColumn Header="Shipping Address " Binding="{Binding Path=ShipToAddress}" Width="160">
                                    <dg:DataGridTextColumn.ElementStyle>
                                        <Style TargetType="{x:Type TextBlock}">
                                            <Setter Property="TextWrapping" Value="Wrap" />
                                        </Style>
                                    </dg:DataGridTextColumn.ElementStyle>
                                </dg:DataGridTextColumn>                                   
                                <dg:DataGridTextColumn Header="E-Mail" Binding="{Binding Path=Email}" Width="140">
                                    <dg:DataGridTextColumn.ElementStyle>
                                        <Style TargetType="{x:Type TextBlock}">
                                            <Setter Property="TextWrapping" Value="Wrap" />
                                        </Style>
                                    </dg:DataGridTextColumn.ElementStyle>
                                </dg:DataGridTextColumn>
                            </dg:DataGrid.Columns>
                        </dg:DataGrid>
                    </DockPanel>
    </ScrollViewer>


愚蠢的错误,ScrollViewer。IsDeferredScrollingEnabled=“True”是导致我的问题的原因

为数据网格实现以下两个属性:

  • ScrollViewer.IsDeferredScrollingEnabled=“True”
  • ScrollMode=“Deferred”

您将能够正确滚动数据网格

您可以发布一些XAML示例吗?当然可以,已发布。我认为drag在datagrid上不起作用。