DataGrid 滚动条问题

weixin_38056601 2016-05-13 10:03:50
在DataGrid中设置EnableRowVirtualization="True"后  拖动滚动条会出现卡顿的现象  请问是什么原因  有什么好的解决办法?
...全文
14 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38121047 2016-05-24
  • 打赏
  • 举报
回复

您好 DotNet Wang,
      不好意思这么久才来回复,我的ItemsSource是绑定的从Oracle中读的DataTable,同时我还简单的修改了列模板和列头样式:
<DataGridTemplateColumn HeaderStyle="{StaticResource HoursDeclareHeadStyle14}" Width="100"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBox x:Name="remark" TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType" TextWrapping="Wrap" Text="{Binding 备注, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Background="Transparent" BorderThickness="0" HorizontalContentAlignment="Left" VerticalContentAlignment="Center" Width="100" MinHeight="30" TextChanged="TextBox_TextChanged" GotMouseCapture="textBox_GotMouseCapture" LostFocus="textBox_LostFocus" IsReadOnly="{Binding 审核状态,Converter={StaticResource auditConverterClass}}"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <Style x:Key="HoursDeclareHeadStyle14" TargetType="DataGridColumnHeader"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Grid x:Name="Root"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="auto" /> </Grid.ColumnDefinitions> <ContentPresenter Content="备注" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="0"/> <Rectangle x:Name="VerticalSeparator1" Fill="DimGray" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Column="1"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
,有些列还做了合并表头:
<Style x:Key="OuterStyle" TargetType="DataGridColumnHeader"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="Foreground" Value="#222" /> <Setter Property="HorizontalContentAlignment" Value="Left" /> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="IsTabStop" Value="False" /> <Setter Property="SeparatorBrush" Value="DimGray" /> <Setter Property="Padding" Value="8" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Grid x:Name="Root"> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto" /> <ColumnDefinition /> <ColumnDefinition Width="auto" /> </Grid.ColumnDefinitions> <Rectangle x:Name="VerticalSeparator1" Fill="DimGray" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="0" Margin="-1,0,0,0" Height="Auto"/> <Grid HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="1"> <Grid.RowDefinitions> <RowDefinition Height="20" /> <RowDefinition Height="1" /> <RowDefinition Height="20" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="50" /> <ColumnDefinition Width="1" /> <ColumnDefinition Width="50" /> <ColumnDefinition Width="1" /> <ColumnDefinition Width="50" /> </Grid.ColumnDefinitions> <!--设置标题名称--> <ContentPresenter Content="外勤" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.ColumnSpan="5" /> <!--设置间隔线--> <Rectangle Fill="DimGray" VerticalAlignment="Stretch" Height="Auto" Visibility="Visible" Grid.Row="1" Grid.ColumnSpan="5" /> <ContentPresenter Content="上午" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center" /> <Rectangle Fill="DimGray" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="2" Grid.Column="1" /> <ContentPresenter Content="下午" Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" /> <Rectangle Fill="DimGray" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="2" Grid.Column="3" /> <ContentPresenter Content="晚上" Grid.Row="2" Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" /> <!--<Thumb x:Name="PART_LeftHeaderGripper" Grid.Column="0" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/> <Thumb x:Name="PART_RightHeaderGripper" Grid.Column="3" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>--> </Grid> <Rectangle x:Name="VerticalSeparator" Fill="DimGray" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="2" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
不知道是否是模板或样式中属性设置有误导致的呢?

weixin_38124462 2016-05-24
  • 打赏
  • 举报
回复
您好 DotNet Wang,
      我测试了下应该是模板的问题,我在做修改中,谢谢您的细心帮助。

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧