Datagrid滚动条停止工作

时间:2011-11-12 21:16:05

标签: wpf datagrid scrollbar

当我运行应用程序时,垂直滚动条按预期工作。但是,当我添加新的行/行时,条形图(应该在滑块上上下移动的控件)不会滑动。使用鼠标滚轮,我可以在行列表中上下滚动,我可以单击向上和向下箭头。所以滚动条工作,但不是预期的。控件应该像最初一样上下滑动,但在添加新线后,它不会。

我希望这很清楚,我已经搜索了许多问题以找到这种奇特的行为,但是没有成功。以下是XAML,部分原因是:

<DataGrid x:Name="inventoryDataGrid" AutoGenerateColumns="False" 
  SelectedValuePath="Id"
  EnableRowVirtualization="True"               
  EnableColumnVirtualization="True" 
  Style="{DynamicResource DataGridDemoStyle}"
  CanUserSortColumns="True"
  VerticalAlignment="Top" 
  ItemsSource="{Binding Source={StaticResource claimInventoryViewSource}}" 
  RowEditEnding="dgInv_RowEditEnding"  
  CellEditEnding="dgInv_CellEditEnding"
  SelectionChanged="dgInv_SelectionChanged"                                             
  IsSynchronizedWithCurrentItem="True"  CanUserAddRows="False" 
  RowHeaderWidth="0"
  Sorting="DataGrid_Standard_Sorting" MouseDoubleClick="inventoryDataGrid_DoubleClick"
  CanUserDeleteRows="True"
  SelectionMode="Single"
  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Visible"
  Width="999.5"
  CommandManager.PreviewCanExecute="Grid_PreviewCanExecute" Grid.Column="0"
  Grid.Row="1"   
  Margin="0,3,0,0" RowDetailsVisibilityMode="VisibleWhenSelected" Height="227"     
  LostFocus="inventoryDataGrid_LostFocus" Background="#FFFCF2E7"   
  AlternatingRowBackground="#FFF2F2D6" RowBackground="#FF6FC4BF"
  GotFocus="inventoryDataGrid_GotFocus">
<DataGrid.Resources>
 <Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}" >
  <Style.Triggers>
   <Trigger Property="IsSelected" Value="True">
    <Setter Property="Foreground" Value="White"/>
   </Trigger>
  </Style.Triggers>
 </Style>
</DataGrid.Resources>
<DataGrid.Columns>

谢谢!

1 个答案:

答案 0 :(得分:1)

我能够解决这个问题。问题是我很久以前在EndEdit例程中找到了代码(在这里找到:EndEdit equivalent in WPF),这在我的数据网格滚动条中导致了这种不稳定的行为。

删除此代码后,我的滚动条工作没有问题。当然,我不得不研究一种在不使用EndEdit的情况下将数据保存在文本框中的方法,但这不是本课题的主题。