2012-05-16 3 views
1

행 색상이 위로 스크롤 될 때 AlternatingRowBackground가있는 WPF (4.0 on Win7) DataGrid가 있고 색상을 아래로 스크롤하면 데이터가 이동하면서 데이터가 데이터와 함께 이동합니다. 평소입니까? 이 이상한 행동을 없앨 수 있습니까?위와 아래로 스크롤 할 때 AlternatingRowBackground가있는 WPF Datagrid가 다르게 스크롤됩니다.

그리드 XAML :

<DataGrid AutoGenerateColumns="True" 
         CanUserAddRows="False" 
         Grid.Row="0" Grid.Column="0" Name="grdData" 
         ItemsSource="{Binding Path=.}" SelectionMode="Single" 
         HeadersVisibility="All" 
         AlternatingRowBackground="LightGray" 
         /> 

참고 : 나는 (WPF Datagrid scrolls up a bit when scrolled to end)를 스크롤에 대한 다른 질문이 있습니다하지만 난 문제가 연결되어 있는지 없습니다 확신합니다.

답변

3

데이터 격자에 EnableRowVirtualization="False"을 추가하십시오.

+0

당신이 옳다 = "참"EnableRowVirtualization와 함께 작동합니다. 더 나은 솔루션이 없다면 (성능을 위해 가상화가 필요합니다) 받아 들일 것입니다. – IvanH

+0

완전히 이해할 수 있습니다. 더 좋은 것이 있는지 다시 확인해 볼 것입니다. – obaylis

0

이 트리거는

<DataGrid Name="dg" Style="{DynamicResource estiloDG}" MinRowHeight="40" GridLinesVisibility="None" 
      HorizontalGridLinesBrush="LightGray" VerticalGridLinesBrush="LightGray" 
      BorderBrush="Gray" BorderThickness="1" Foreground="#424242" 
      VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" 
      ItemsSource="{Binding ElementName=Me, Path=ItemsSource, Mode=OneWay}" x:FieldModifier="Private" 
      EnableRowVirtualization="True" 
      VirtualizingStackPanel.IsVirtualizing="True" 
      VirtualizingStackPanel.VirtualizationMode="Recycling" 
      CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="True" CanUserSortColumns="True"> 

    <DataGrid.RowStyle> 
     <Style TargetType="{x:Type DataGridRow}"> 
      <Style.Triggers> 
       <Trigger Property="AlternationIndex" Value="0"> 
        <Setter Property="Background" Value="White" /> 
       </Trigger> 
       <Trigger Property="AlternationIndex" Value="1"> 
        <Setter Property="Background" Value="#FFD0E8D0" /> 
       </Trigger>     
      </Style.Triggers> 
     </Style> 
    </DataGrid.RowStyle> 

+0

이것은 나를 위해 작동하지 않았다. .NET 4.0 – CrazyIvan1974

+0

죄송하지만, 우리는이 코드를 타겟 환경의 프로덕션 환경에서 작동합니다. – Dave

+0

다시 살펴 보겠습니다. – CrazyIvan1974

관련 문제