当我运行应用程序时,垂直滚动条按预期工作。但是,当我添加新的行/行时,条形图(应该在滑块上上下移动的控件)不会滑动。使用鼠标滚轮,我可以在行列表中上下滚动,我可以单击向上和向下箭头。所以滚动条工作,但不是预期的。控件应该像最初一样上下滑动,但在添加新线后,它不会。
我希望这很清楚,我已经搜索了许多问题以找到这种奇特的行为,但是没有成功。以下是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>
谢谢!
答案 0 :(得分:1)
我能够解决这个问题。问题是我很久以前在EndEdit例程中找到了代码(在这里找到:EndEdit equivalent in WPF),这在我的数据网格滚动条中导致了这种不稳定的行为。
删除此代码后,我的滚动条工作没有问题。当然,我不得不研究一种在不使用EndEdit的情况下将数据保存在文本框中的方法,但这不是本课题的主题。